NPM简朴入门

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]

安小下同砚

    原文作者:安小下同学
    原文地址: https://segmentfault.com/a/1190000006784210
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞