目录
Node Package Manager
- Commonjs包规范是理论,NPM是其中的一种实践
- 对于Node而言,NPM帮助其完成了第三方模块的发布、安装和依赖等,借助NPM Node与第三方模块之间形成了很好的一个生态系统,相当于java 的 maven;
准备
首相需要创建一个目录,我创建的是npmProject
然后打开命令行进入到这个目录,运行 如下命令 npm init
然后在该目录下就会有一个package.json
npm命令
- npm -v 查看npm版本
- npm version 查看所有模板的版本
- npm search 包名 搜索包
- npm install / i 包名 安装包 根据上面查到的包名,例如第一个math, i 和 install 两个命令都相同,
- 可以看到目录下已经下载了math模块,如果没有package.json文件,就不会将依赖下载到当前位置
- 如何使用math模块在根目录创建index.js
- index.js
/** * 通过npm下载的包都放到 node_modules文件中 * 我们通过npm下载的包,直接通过包名引用即可 * node 在使用模块名字引入模块时,它首先在当前目录的node_modules中寻找是否含有该模块 * 如果有则直接使用,如果没有则去上一级目录的node_modules中寻找, * 没有的话一直往上一级一级去node_modules目录找, * 直到找到磁盘根目录为止,没有的话会报错有的话会使用 * * @type {[type]} */ var math = require("math"); console.log(math); console.log(math.add(123,456));
-
打开cmd运行 node index.js 如下
- npm remove / r 包名 删除包
- npm install 包名 --save 安装包添加到依赖中
- 因为下载模块依赖并且添加到依赖当中
- 可以看到package.json "dependencies": {
"math": "0.0.3"
},一般开源的node项目上是没有node_modules目录的这些依赖是通过 package.json 的 dependencies 联网下载的 - 所以拿到一个开源项目我们需要 运行 npm i,测试一下,我们先将 node_modules 目录删除然后运行 npm i
- 所以这个package.json类似于maven的pom.xml
- npm install / i下载当前项目所依赖的包 这个在上面演示过了
- npm install 包名 -g 全局安装包 全局安装的包一般都是一些工具
安装淘宝cnpm
流程如下
如下在cmd 运行下面命令回车等待即可,这个使用下载依赖模块的地址是淘宝镜像在国内速度相对来说比较快,命令和npm一样,运行时需要只需要把之前的npm改成cnpm就可以了,而且两个都可以用
npm install -g cnpm --registry=https://registry.npm.taobao.org