1. 程式人生 > >npm --save和--save-dev區別

npm --save和--save-dev區別

1、npm install 就是安裝模組,npm run dev 就是執行npm script中的命令。當我們執行npm命令的時候,它到哪裡去找,這就要說到每個node專案中都有的核心檔案package.json 檔案。
2、專案剛剛開始時,就要建立package.json這個檔案,可以進入專案目錄手動建立,就和建立一個txt檔案一樣(不建議),使用命令列建立:npm init,然後一路回車、填資訊,就可以了。
3、幾個填寫欄位:
name 專案名稱, 你可能在專案中使用過 var express = require(‘express’), require 函式後面的引數,就是package.json 中的name欄位,所以這個name一定要簡短,且不能有大寫,這是規定。
  version版本號:安裝一個模組的時候, 你可能指定過特定的版本號,npm install express @4.13.2, 版本號4.13.2 就是我們這裡的version。版本號有三個組成部分,4:表示的是大版本,一般是重大升級。13:表示的是小版本, 在大版本的基礎進行的小的更新,如某個功能廢棄了,新增了那個功能。2: 對該版本進行補丁,主要是版本bug的修復。
  script: 我們在命令列中執行的所有命令都寫在這個地方,然後用 npm run 去執行這個命令。

4、專案初始化完成,開始開發。安裝依賴(第三方庫和框架),安裝用的命令是npm install
npm install --save 會把依賴包名稱新增到 package.json 檔案 預設為dependencies 鍵下
npm install --save-dev 把依賴包名稱新增到 package.json 檔案 devDependencies 鍵下
devDependencies 下列出的模組,是我們開發時用的,比如 我們安裝 js的壓縮包gulp-uglify 時,我們採用的是 “npm install –save-dev gulp-uglify ”命令安裝,因為我們在釋出後用不到它,而只是在我們開發才用到它。dependencies 下的模組,則是我們釋出後還需要依賴的模組,譬如像jQuery庫或者Angular框架類似的,我們在開發完後肯定還要依賴它們,否則就執行不了。其實就是我們在使用webpack開發時,它配置檔案裡所有的依賴,都是開發依賴。

5、執行webpack命令時,一定要指定模式。
webpack --mode development
webpack --mode production
dev是develop(開發)的簡寫。

6、 npm install -g 全域性安裝(global)和本地安裝(local)的區別
帶不帶-g引數的區別.
帶了-g說明全域性安裝.不帶說明安裝在當前目錄
a.npm install xxx -g 時, 模組將被下載安裝到【全域性目錄】中
【全域性目錄】通過 npm config set prefix "目錄路徑" 來設定。
比如說,當我們使用了npm install -g express安裝了express框架後, 我們就可以在電腦裡的某一個資料夾下,開啟控制檯,直接使用express mvc建立專案,否則會遇到 “'express' 不是內部或外部命令,也不是可執行的程式”錯誤。
b.npm install xxx ,則是將模組下載到當前命令列所在目錄。
c:\123>npm install xxx //將會安裝到c:\123\node_modules\xxx
全域性安裝完後可以在控制檯直接的使用,本地安裝的是專案開發過程中需要的依賴模組

        本地安裝
        1. 將安裝包放在 ./node_modules 下(執行npm時所在的目錄)
        2. 可以通過 require() 來引入本地安裝的包(按需引入)
        全域性安裝
        1. 將安裝包放在 /usr/local 下
        2. 可以直接在命令列裡使用