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