Node.js简介
Node.js 是运行在服务端的 JavaScript。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。,能够使得javascript脱离浏览器运行。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 不是一个 JavaScript 框架,更不是浏览器端的库,不能与 jQuery、ExtJS 相提并论。让 JavaScript 成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言
Github地址:https://github.com/nodejs/node
官方网站:https://nodejs.org/
英文文档:https://nodejs.org/dist/latest-v10.x/docs/api/
中文社区:http://nodejs.cn/
中文文档:http://nodejs.cn/api/
NPM和Node.js的关系
NPM的全称是Node Package Manager
,是一个NodeJS
包管理和分发工具。它可以让 Javascript
开发者能够更加轻松的共享代码和共用代码片段,并且通过 npm
管理你分享的代码也很方便快捷和简单。当需要用到别人的Javascript
代码时可以直接通过npm
安装,此时npm
会根据依赖关系,把所有依赖的包都下载下来并且管理起来
Github地址:https://github.com/npm/cli
官方网站:https://www.npmjs.com/
官方文档:https://docs.npmjs.com/
官方社区:https://npm.community/
下载
下载地址:https://nodejs.org/en/download/
下载官方推荐的版本,推荐下载安装版,免得手动配置环境变量
双击安装包,直接next
同意,next
选择安装路径,next
默认即可,这里有添加到环境变量path,next
直接install
安装完成
在cmd控制台中输入node -v
,显示node版本号
npm -v
,显示npm版本号
配置npm安装的全局模块所在的路径,以及缓存cache的路径。
NPM安装的模块并不会安装到NodeJS的程序目录
在nodejs目录下创建两个目录node_cache
和node_global
node_cache
:存放安装过程的缓存文件
node_global
:存放安装模块配置位置
配置完成后,执行以下命令(根据自己的安装目录修改)
npm config set prefix "E:\Node.js\node_global"
npm config set cache "E:\Node.js\node_cache"
将npm的全局模块目录和缓存目录配置到我们刚才创建的那两个目录
安装模块/包:npm install 模块名/包名 -g
拓展:删除模块npm uninstall -g 模块名/包名
查看安装模块cluster
node
命令进入nodejs
的交互式命令控制台(按两次ctrl+c
退出交互式命令控制台)
再输入require('cluster')
查看cluster模块的信息
在node_global
目录下node_modules
文件夹中可以看到模块cluster
将npm的模块下载仓库从默认的国外站点改为国内的站点
国内优秀npm镜像:
淘宝npm镜像官方网站:http://npm.taobao.org/
registry地址:http://registry.npm.taobao.org/
cnpmjs镜像官方网站:https://cnpmjs.org/
registry地址:http://r.cnpmjs.org/
1.临时使用,国内镜像下载很快
npm --registry https://registry.npm.taobao.org install cluster -g
2.长期使用
配置命令:npm config set registry https://registry.npm.taobao.org
检验配置是否成功:npm config get registry
系统依赖问题
例如安装webpacknpm --registry https://registry.npm.taobao.org install cluster -g
安装成功,报了两个警告
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\webpack\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"}
(current: {"os":"win32","arch":"x64"})
原因:fsevent
是Mac osx
系统的,在Windows
或者Linux
下使用了 所以会有警告,忽略即可。