一、npm install -S -D 的區別
npm install module_name -S 即 npm install module_name --save
寫入dependencies
npm install module_name -D 即 npm install module_name --save-dev
寫入devDependencies
npm install --save
(1)會把msbuild
包安裝到node_modules
目錄中
(2)會在package.json
的dependencies
屬性下添加msbuild
(3)之后運行npm install
命令時,會自動安裝msbuild
到node_modules
目錄中
(4)之后運行npm install --production
或者注明NODE_ENV
變量值為production
時,會自動安裝msbuild
到node_modules
目錄中
npm install --save-dev
(1)會把msbuild
包安裝到node_modules
目錄中
(2)會在package.json
的devDependencies
屬性下添加msbuild
(3)之后運行npm install
命令時,會自動安裝msbuild
到node_modules
目錄中
(4)之后運行npm install --production
或者注明NODE_ENV
變量值為production
時,不會自動安裝msbuild
到node_modules
目錄中
其中 install 可以簡寫為 i ,即 npm i module_name -S
還有一個 npm i module_name -g ,-g 指的是全局安裝。不帶 -g 的為本地安裝
npm install
本地安裝
(1)將安裝包放在 ./node_modules
下(運行 npm 命令時所在的目錄),如果沒有 node_modules
目錄,會在當前執行 npm
命令的目錄下生成 node_modules
目錄。
(2)可以通過 require()
來引入本地安裝的包。
npm install -g
全局安裝
(1) 將安裝包放在 /usr/local
下或者你 node
的安裝目錄。
(2)可以直接在命令行里使用。
二、dependencies 與 devDependencies 的區別
dependencies與devDependencies 都是在package.json中的配置信息。
- devDependencies 里面的插件只用於開發環境,不用於生產環境
- dependencies 是需要發布到生產環境的。
三、總結:
devDependencies 的理解:
我們在開發一個前端項目的時候,需要使用到webpack或者gulp來構建我們的開發和本地運行環境,這時我們就要安裝到devDependencies 里。webpack或者gulp是用來打包壓縮代碼的工具,在項目實際運行的時候用不到,所以把webpack或者gulp放到devDependencies 中就行了。
dependencies 的理解:
我們在項目中用到了element-ui或者mint-ui,在生產環境中運行項目,當然也需要element-ui或者mint-ui,所以我們把element-ui或者mint-ui安裝到dependencies中。