普通安装模块,包名不会注册到package.json
里面,但会把包安装到项目node_modules
npm install module_name
install 可以简写
npm i module_name
全局安装模块,也就是安装到磁盘中,不会在项目 node_modules 目录中保存模块包,但是打包的时候也会把相关的包打包进去
npm install module_name -g
将包名注册在package.json
文件的 dependencies
中,生产环境(也就是打包上线)依然存在,例如 axios,express,react 等
npm install module_name --save
--save 可以简写
npm install module_name -S
将包名注册在package.json
文件的 devDependencies
中,即开发环境,生产环境会忽略这里的模块,常用于调试,错误检查,自动重启等方便开发,例如 babel,less-loader,nodemon 等
npm install module_name --save-dev
--save-dev 可以简写
npm install module_name -D
那么
npm i
或者npm install
什么时候用?
因为node_modules
包太大,向Github
之类的托管平台上传代码的时候都不会上传node_modules
,也就是平时项目中的.gitignore
中写node_modules
的原因,只会保留一个package.json
文件,注明了使用的模块和版本。
在这种项目初始化的时候运行npm install
就会把package.json
文件中dependencies
和 devDependencies
中的包全部安装到项目中,生成node_modules
包
原文:https://www.cnblogs.com/kreios/p/14342088.html