npm install、npm install --save與npm install --save-dev、npm install -g區別
npm install X:
- 會把X包安裝到node_modules目錄中
- 不會修改package.json
- 之後執行npm install命令時,不會自動安裝X
npm install X –save:
-
會把X包安裝到node_modules目錄中
-
會在package.json的dependencies屬性下新增X
-
之後執行npm install命令時,會自動安裝X到node_modules目錄中
-
之後執行npm install–production或者註明NODE_ENV變數值為production時,會自動安裝msbuild到node_modules目錄中
npm install X –save-dev:
-
會把X包安裝到node_modules目錄中
-
會在package.json的devDependencies屬性下新增X
-
之後執行npm install命令時,會自動安裝X到node_modules目錄中
-
之後執行npm install–production或者註明NODE_ENV變數值為production時,不會自動安裝X到node_modules目錄中
npm install X –g:
-
安裝模組到全域性,不會在專案node_modules目錄中儲存模組包。
-
不會將模組依賴寫入devDependencies或dependencies 節點。
- 執行 npm install 初始化專案時不會下載模組。
-
npm
install
-gmoduleName#-g的意思是將模組安裝到全域性,具體安裝到磁碟哪個位置,要看npmconfigprefix的位置,具體檢視方法是在終端輸入npm config edit,在彈出的文件中找到; prefix=C:\node,就是了。
使用原則:
執行時需要用到的包使用–save,否則使用–save-dev。
主要區別
devDependencies中的包是在開發中用到的,而釋出後是找不到,而dependencies中的包是開發和線上都需要用到的。
我們在解除安裝某個包的時候也可以根據上面說的添上–save或–save-dev 就會在package.json中刪除相應的配置。
總結
devDependencies 節點下的模組是我們在開發時需要用的,你寫 ES6 程式碼,需要babel轉換成es5,轉換完成後,我們只需要轉換後的程式碼,上線的時候,直接把轉換後的程式碼部署上線,不需要bebal了,上線了不需要,這就是devDependencies,所以我們可以使用 -save-dev 的形式安裝。如果你用了 jQuery,由於釋出之後還是依賴jQuery,所以是dependencies,所以我們應該使用 -save 的形式安裝。