普通安裝模塊,包名不會注冊到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
包