npm 运用引见
NPM是伴同NodeJS一同装置的包管理东西,能处理NodeJS代码布置上的许多题目,罕见的运用场景有以下几种:
许可用户从NPM效劳器下载他人编写的第三方包到当地运用。
许可用户从NPM效劳器下载并装置他人编写的敕令行顺序到当地运用。
许可用户将本身编写的包或敕令行顺序上传到NPM效劳器供他人运用。
因为新版的nodejs已集成了npm,所以之前npm也一并装置好了。一样能够经由过程输入 “npm -v” 来测试是不是胜利装置。敕令以下,涌现版本提醒示意装置胜利:
npm -v
3.10.3
晋级
假如你装置的是旧版本的npm,能够很容易得经由过程npm 敕令来晋级,敕令以下:
sudo npm installnpm -g
假如是 Window 体系运用以下敕令即可:
npm installnpm -g
运用npm 敕令装置模块
npm 装置 Node.js 模块语法花样以下:
npm install <Module Name>
以下实例,我们运用npm 敕令装置经常使用的 Node.js web框架模块 express:
npm install express
装置好以后,express 包就放在了工程目次下的 node_modules 目次中,因此在代码中只须要经由过程 require(‘express’) 的体式格局就好,无需指定第三方包途径。
var express = require(‘express’);
1.全局装置与当地装置
npm 的包装置分为当地装置(local)、全局装置(global)两种,从敲的敕令行来看,差异只是有无-g罢了,比方
npm install express # 当地装置
npm install express -g # 全局装置
假如涌现以下毛病:
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
处理办法为:
npm config set proxy null
1.1 当地装置
将装置包放在 ./node_modules 下(运转npm 敕令时地点的目次),假如没有 node_modules 目次,会在当前实行npm 敕令的目次下天生 node_modules 目次。
能够经由过程 require() 来引入当地装置的包。
1.2 全局装置
将装置包放在 /usr/local 下或许你 node 的装置目次。
能够直接在敕令行里运用。
假如你愿望具有二者功用,则须要在两个处所装置它或运用npm link
你能够运用以下敕令来检察一切全局装置的模块:
npm ls -g
1.3 装置指定版本
默许装置的是最新版本,假如要装置指定版本则需在包名背面加@指定版本号,以下:
npm install gulp@3.9.1
2. 运用 package.json
package.json 位于模块的目次下,用于定义包的属性。
2.1 Package.json 属性申明
“name” – 包名
“version” – 版本号
“author” – 作者
“description” – 包的形貌
“dependencies” – 包的依靠
“licenses” – 包的许可证
“devDependencies” – 包的开辟依靠
“engines” – 包的运转引擎
“homepage” – 包的官网
“repository” – 包的堆栈,能够是 git 或 svn,git 可在 Github 上。
main – 字段是一个模块ID,它是一个指向你顺序的重要项目。就是说,假如你包的名字叫 express,然后用户装置它,然后require(“express”)。
keywords – 关键字
2.2 将装置包写入临盆环境的依靠
-S, –save 装置包信息将加入到dependencies(临盆阶段的依靠),比方:
npm install vue --save
package.json 文件的 dependencies 字段:
"dependencies": {
"vue": "^2.0.1"
}
2.3 将装置包写入开辟环境的依靠
-D, –save-dev 装置包信息将加入到devDependencies(开辟阶段的依靠),所以开辟阶段平常运用它,比方:
npm install vue --save-dev
package.json 文件的 devDependencies字段:
"devDependencies": {
"vue": "^2.0.1"
}
模块依靠
项目对模块的依靠能够运用下面的 3 种方法来示意(假定当前版本号是 1.1.0 ):
兼容模块新宣布的补丁版本:~1.1.0、1.1.x、1.1
兼容模块新宣布的小版本、补丁版本:^1.1.0、1.x、1
兼容模块新宣布的大版本、小版本、补丁版本:*、x
卸载模块
我们能够运用以下敕令来卸载 Node.js 模块。
npm uninstall express
卸载后,你能够到 /node_modules/ 目次下检察包是不是还存在
检察装置的模块
npm ls
搜检模块是不是已过期
我们能够运用以下敕令搜检模块是不是已过期:
npm outdated express
更新模块
我们能够运用以下敕令更新模块:
npm update express
搜刮模块
运用以下来搜刮模块:
npm search express
建立模块
建立模块,package.json 文件是必不可少的。我们能够运用npm 天生 package.json 文件,天生的文件包含了基础的效果。
npm init
敕令实行后会涌现许多提醒输入,你须要依据你本身的状况输入。在末了输入 “yes” 后会天生 package.json 文件。
接下来我们能够运用以下敕令在npm 资源库中注册用户(运用邮箱注册):
npm adduser
Username: saboran
Password:
Email: (this IS public) saboran@163.com
接下来我们就用以下敕令来宣布模块:
npm publish
假如你以上的步骤都操纵准确,你就能够跟其他模块一样运用npm 来装置。
运用淘宝npm 镜像
人人都晓得国内直接运用npm 的官方镜像是异常慢的,这里引荐运用淘宝npm 镜像。
淘宝npm 镜像是一个完全npmjs.org 镜像,你能够用此替代官方版本(只读),同步频次目前为 10分钟 一次以保证只管与官方效劳同步。
你能够运用淘宝定制的 cnpm (gzip 紧缩支撑) 敕令行东西替代默许的npm
npm install -g cnpm --registry=https://registry.npm.taobao.org
如许就能够运用 cnpm 敕令来装置模块了:
cnpm install [name]