npm --save-dev --save區別
阿新 • • 發佈:2018-11-29
npm install 在安裝 npm 包時,有兩種命令引數可以把它們的資訊寫入 package.json 檔案,一個是npm install-
-save另一個是 npm install –save-dev,他們表面上的區別是-
-save 會把依賴包名稱新增到 package.json 檔案 dependencies 鍵下,-
-save-dev 則新增到 package.json 檔案 devDependencies 鍵下,譬如:
{ "dependencies": { "vue": "^2.2.1" }, "devDependencies": { "babel-core": "^6.0.0", "babel-loader": "^6.0.0", "babel-preset-latest": "^6.0.0", "cross-env": "^3.0.0", "css-loader": "^0.25.0", "file-loader": "^0.9.0", "vue-loader": "^11.1.4", "vue-template-compiler": "^2.2.1", "webpack": "^2.2.0", "webpack-dev-server": "^2.2.0" } }
不過這只是它們的表面區別。它們真正的區別是,npm自己的文件說dependencies是執行時依賴,devDependencies是開發時的依賴。即devDependencies 下列出的模組,是我們開發時用的,比如 我們安裝 js的壓縮包gulp-uglify 時,我們採用的是 “npm install –save-dev gulp-uglify ”命令安裝,因為我們在釋出後用不到它,而只是在我們開發才用到它。dependencies 下的模組,則是我們釋出後還需要依賴的模組,譬如像jQuery庫或者Angular框架類似的,我們在開發完後後肯定還要依賴它們,否則就執行不了。
另外需要補充的是:
正常使用npm install時,會下載dependencies和devDependencies中的模組,當使用npm install –production或者註明NODE_ENV變數值為production時,只會下載dependencies中的模組。