几个常用命令
# 安装模块到项目目录下
npm install moduleName
#-g 的意思是将模块安装到全局
npm install moduleName -g
#-save 的意思是将模块安装到项目目录下,并在 package.json 文件的 dependencies 节点写入依赖。npm install moduleName -save
#--save-dev 的意思是将模块安装到项目目录下,并在 package.json 文件的 devDependencies 节点写入依赖。npm install moduleName --save-dev
注意:
- -g、-save、–save-dev 可以写在 moduleName 前面
- moduleName 可以是多个,空格隔开
- -save 可以简写为 -S
- –save-dev 可以简写为 -D
这四种命令对比
-
npm install moduleName
- 安装模块到项目 node_modules 目录下。
- 不会将模块依赖写入 devDependencies 或 dependencies 节点。
- 运行 npm install 初始化项目时不会下载模块。
-
npm install moduleName -g
- 安装模块到项目 node_modules 目录下。
- 不会将模块依赖写入 devDependencies 或 dependencies 节点。
- 运行 npm install 初始化项目时不会下载模块。
-
npm install moduleName -save
- 安装模块到项目 node_modules 目录下。
- 会将模块依赖写入 dependencies 节点。
- 运行 npm install 初始化项目时,会将模块下载到项目目录下。
- 运行 npm install –production 或者注明 NODE_ENV 变量值为 production 时,会自动下载模块到 node_modules 目录中。
-
npm install moduleName –save-dev
- 安装模块到项目 node_modules 目录下。
- 会将模块依赖写入 devDependencies 节点。
- 运行 npm install 初始化项目时,会将模块下载到项目目录下。
- 运行 npm install –production 或者注明 NODE_ENV 变量值为 production 时,不会自动下载模块到 node_modules 目录中。
总结
- devDependencies 节点下的模块是在开发时需要用的,比如项目中使用的 gulp,压缩 css、js 的模块。这些模块在项目部署后是不需要的,所以我们可以使用 -save-dev 的形式安装。
- 像 express 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用 -save 的形式安装。