NPM常用命令

为什么要使用 NPM

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

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

安装NPM

npm 不需要单独安装。在安装 Node 的时候,会连带一起安装 npm 。但是,Node 附带的 npm 可能不是最新版本,最后用下面的命令,更新到最新版本。

// Linux
sudo npm install npm@latest -g
// Windows  
npm install npm -g

NPM信息查看命令

// 查看 npm 命令列表
npm help
// 查看各个命令的简单用法
npm -l
// 查看 npm 的版本
npm -v
// 查看 npm 的配置
npm config list -l

包安装及使用

npm set 用来设置环境变量

npm set init-author-name 'Your name'
npm set init-author-email 'Your email'
npm set init-author-url 'http://www.xiaolaiwo.com'
npm set init-license 'MIT'

上面命令等于为 npm init 设置了默认值,以后执行 npm init 的时候,package.json 的作者姓名、邮件、主页、许可证字段就会自动写入预设的值。这些信息会存放在用户主目录的 ~/.npmrc文件,使得用户不用每个项目都输入。如果某个项目有不同的设置,可以针对该项目运行 npm config。

npm info 命令可以查看每个模块的具体信息。比如,查看 underscore 模块的信息。

npm info vue

npm search 命令搜索 npm 仓库,它后面可以跟字符串,也可以跟正则表达式。

npm search <keyword>

npm list 命令以树形结构列出当前项目安装的所有模块,以及它们依赖的模块。

npm list
// 加上 global 参数,会列出全局安装的模块
npm list -global
// 列出单个模块
npm list vue

npm install  安装包。

一般来说,全局安装只适用于工具模块,比如 eslint 和 gulp 。关于使用全局模式,多数时候并不是因为许多程序都有可能用到了它,为了减少多重副本而使用全局模式,而是因为本地模式不会注册 PATH 环境变量。 
“本地安装”指的是将一个模块下载到当前项目的 node_modules 子目录,然后只有在项目目录之中,才能调用这个模块。

// 本地安装
npm install <package name>
// 全局安装
sudo npm install -global <package name>
sudo npm install -g <package name>

如果你希望,一个模块不管是否安装过, npm 都要强制重新安装,可以使用 -f 或 –force 参数。

npm install <packageName> --force

install 命令总是安装模块的最新版本,如果要安装模块的特定版本,可以在模块名后面加上 @ 和版本号。

npm install vue@latest
npm install vue@1.0
npm install vue@">=2.1.0 <2.2.0"

install 命令可以使用不同参数,指定所安装的模块属于哪一种性质的依赖关系,即出现在 packages.json 文件的哪一项中。 
–save:模块名将被添加到 dependencies,可以简化为参数-S。 
–save-dev:模块名将被添加到 devDependencies,可以简化为参数-D。

npm install vue -S
npm install shelljs -D

dependencies 依赖

这个是 npm 核心一项内容,依赖管理,这个对象里面的内容就是我们这个项目所依赖的 js 模块包。下面这段代码表示我们依赖了 markdown-it 这个包,版本是 ^8.1.0 ,代表最小依赖版本是 8.1.0 ,如果这个包有更新,那么当我们使用 npm install 命令的时候,npm 会帮我们下载最新的包。当别人引用我们这个包的时候,包内的依赖包也会被下载下来。

devDependencies 开发依赖

在我们开发的时候会用到的一些包,只是在开发环境中需要用到,但是在别人引用我们包的时候,不会用到这些内容,放在 devDependencies 的包,在别人引用的时候不会被 npm 下载。 

当你有了一个完整的 package.json 文件的时候,就可以让人一眼看出来,这个模块的基本信息,和这个模块所需要依赖的包。我们可以通过 npm install 就可以很方便的下载好这个模块所需要的包。 

npm install 默认会安装 dependencies 字段和 devDependencies 字段中的所有模块,如果使用 –production 参数,可以只安装 dependencies 字段的模块。

scripts 脚本

顾名思义,就是一些脚本代码,可以通过 npm run script-key 来调用,例如在这个 package.json 的文件夹下使用 npm run dev 就相当于运行了 node build/dev-server.js 这一段代码。使用 scripts 的目的就是为了把一些要执行的代码合并到一起,使用 npm run 来快速的运行,方便省事。 
npm run 是 npm run-script 的缩写,一般都使用前者,但是后者可以更好的反应这个命令的本质。

"scripts": {
    "dev": "node build/dev-server.js",
    "start": "node build/dev-server.js",
    "build": "node build/build.js",
    "lint": "eslint --ext .js,.vue src"
},

发表评论