安装
npm install packageName
可以简写为 npm i packageName
如果执行命令的目录下有package.json,可以直接使用
npm install
(npm i)安装所有依赖。
安装具体版本包:npm i packageName@x.x.x
如果需要将安装的依赖包写入package.json,可以在命令后加上--save
(简写 npm i packageName -S
)
如果要写到package.json开发依赖中(devdependencies
),则可以使用命令:npm i packageName --save-dev
(简写npm i packageName -D
)
删除
删除某个NPM包。使用npm uninstall packageName
即可。
本地模式和全局模式
npm包的安装,分为本地模式和全局模式,默认是本地模式,即在执行npm install
命令的当前目录,创建node_modules
,然后下载安装包及其依赖到此目录。
全局模式是指安装到全局路径的方式。
在 Node.js 的 require 依赖之时,会优先查找自己当前文件的node_modules,如果没有,则循环遍历上层的node_modules
,如果便历到根目录还找不到,则会使用全局模式安装的模块,另外全局模式安装的包可以指定全局命令,只需要在package.json增加bin
字段
全局安装一个包,使用命令npm install --global
,--global
可以简写为-g
。
初始化一个NPM项目
npm init
用来初始化生成一个新的package.json文件。
输入npm init
并且根据对应的提示回答问题,会向用户提问一系列问题,如果觉得不用修改默认配置,一路回车即可。
如果使用了 -f
(代表force
)、-y
(代表yes
),则跳过提问阶段,直接生成一个新的package.json文件。
设置NPM镜像
由于 NPM 网站经常不稳定,所以国内有很多镜像可以使用,淘宝 NPM 镜像是国内最大的一家NPM 镜像网站,还有 cnpm
包可以替换官方 NPM 来使用,使用 cnpm
直接使用淘宝镜像安装NPM 包。
- 单次使用镜像方法:
npm [命令] --registry=https://registry.npm.taobao.org
设置默认 npm 使用淘宝镜像方法:
npm config set registry https://registry.npm.taobao.org
使用下面的命令可以安装 cnpm 包,之后直接像使用 npm 一样使用 cnpm 即可,不需要
npm install -g cnpm --registry=https://registry.npm.taobao.org
其他常用命令
-
npm set
:设置环境变量,例如:npm set init-author-name 'Your name'
,初始化的时候会使用默认环境变量 -
npm info
:查看某个包的信息,例如:npm info lodash
; -
npm search
:查找 npm 仓库,后面可以跟字符串或者正则表达式,例如:npm search webpack
; -
npm list
:树形的展现当前项目安装的所有模块,以及对应的依赖,例如: npm list --glob
al 查看全局安装的模块。
NPM Script
NPM 不仅可以用于模块管理,还可以用于执行脚本。package.json 文件中可以添加 scripts
字段,用于指定脚本命令,供NPM直接调用。
// package.json
{
"scripts": {
"build": "webpack",
"start": "node src/scripts/dev.js"
}
}
在 package.json 添加上面字段之后,可以直接使用 npm run build
和 npm run start
命令了,
实际上:
npm run build
:相当于执行了当前项目中目录下的 webpack 命令;
npm run start
:相当于执行了 node src/scripts/dev.js
。
另外 npm run start
还可以简写成 npm start