NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

安装模块

npm install <module name>

  1. npm install express
  2. // 安装好之后,express 包就放在了工程目录下的 node_modules 目录中,因此在代码中只需要通过 require('express') 的方式就好,无需指定第三方包路径。
  3. var express = require('express');

全局安装和本地安装

  1. // 本地安装
  2. npm install express
  3. // 全局安装
  4. npm install express -g

本地安装

  • 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
  • 可以通过 require() 来引入本地安装的包。

全局安装

  • 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
  • 可以通过 require() 来引入本地安装的包。

如果你希望具备两者功能,则需要在两个地方安装它或使用 npm link

查看安装信息

npm list -g

查看版本号

npm list grunt

package.json

package.json 位于模块的目录下,用于定义包的属性。

  • name - 包名。
  • version - 包的版本号。
  • description - 包的描述。
  • homepage - 包的官网 url 。
  • author - 包的作者姓名。
  • contributors - 包的其他贡献者姓名。
  • dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
  • repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
  • main - main 字段指定了程序的主入口文件,require(‘moduleName’) 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
  • keywords - 关键字

卸载模块

npm uninstall express

npm ls查看安装的包

更新模块

npm update module

搜索模块

npm search express

创建模块

npm init生成package.json
npm adduser在 npm 资源库中注册用户(使用邮箱注册)
npm publish发布模块

常用命令

npm help查看所有命令
npm help command查看具体命令的帮助
npm install . -g可先在本地安装当前命令行程序,可用于发布前的本地测试
npm update <package>把当前目录下node_modules子目录里边的对应模块更新至最新版本
npm update <package> -g把全局安装的对应命令行程序更新至最新版
npm cache clear可以清空NPM本地缓存,用于对付使用相同版本号发布新版本代码的人
npm unpublish <package>@<version>可以撤销发布自己发布过的某个版本代码