溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

npm --save和--save-dev區(qū)別

發(fā)布時間:2020-08-09 06:09:51 來源:網(wǎng)絡(luò) 閱讀:1558 作者:xxxpjgl 欄目:web開發(fā)

1、npm install 就是安裝模塊,npm run dev 就是執(zhí)行npm script中的命令。當(dāng)我們執(zhí)行npm命令的時候,它到哪里去找,這就要說到每個node項(xiàng)目中都有的核心文件package.json 文件。
2、項(xiàng)目剛剛開始時,就要創(chuàng)建package.json這個文件,可以進(jìn)入項(xiàng)目目錄手動創(chuàng)建,就和創(chuàng)建一個txt文件一樣(不建議),使用命令行創(chuàng)建:npm init,然后一路回車、填信息,就可以了。
3、幾個填寫字段:
name 項(xiàng)目名稱, 你可能在項(xiàng)目中使用過 var express = require(‘express’), require 函數(shù)后面的參數(shù),就是package.json 中的name字段,所以這個name一定要簡短,且不能有大寫,這是規(guī)定。
  version版本號:安裝一個模塊的時候, 你可能指定過特定的版本號,npm install express @4.13.2, 版本號4.13.2 就是我們這里的version。版本號有三個組成部分,4:表示的是大版本,一般是重大升級。13:表示的是小版本, 在大版本的基礎(chǔ)進(jìn)行的小的更新,如某個功能廢棄了,新增了那個功能。2: 對該版本進(jìn)行補(bǔ)丁,主要是版本bug的修復(fù)。
  script: 我們在命令行中執(zhí)行的所有命令都寫在這個地方,然后用 npm run 去執(zhí)行這個命令。

4、項(xiàng)目初始化完成,開始開發(fā)。安裝依賴(第三方庫和框架),安裝用的命令是npm install
npm install --save 會把依賴包名稱添加到 package.json 文件 默認(rèn)為dependencies 鍵下
npm install --save-dev 把依賴包名稱添加到 package.json 文件 devDependencies 鍵下
devDependencies 下列出的模塊,是我們開發(fā)時用的,比如 我們安裝 js的壓縮包gulp-uglify 時,我們采用的是 “npm install –save-dev gulp-uglify ”命令安裝,因?yàn)槲覀冊诎l(fā)布后用不到它,而只是在我們開發(fā)才用到它。dependencies 下的模塊,則是我們發(fā)布后還需要依賴的模塊,譬如像jQuery庫或者Angular框架類似的,我們在開發(fā)完后肯定還要依賴它們,否則就運(yùn)行不了。其實(shí)就是我們在使用webpack開發(fā)時,它配置文件里所有的依賴,都是開發(fā)依賴。

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

6、 npm install -g 全局安裝(global)和本地安裝(local)的區(qū)別
帶不帶-g參數(shù)的區(qū)別.
帶了-g說明全局安裝.不帶說明安裝在當(dāng)前目錄
a.npm install xxx -g 時, 模塊將被下載安裝到【全局目錄】中
【全局目錄】通過 npm config set prefix "目錄路徑" 來設(shè)置。
比如說,當(dāng)我們使用了npm install -g express安裝了express框架后, 我們就可以在電腦里的某一個文件夾下,打開控制臺,直接使用express mvc創(chuàng)建項(xiàng)目,否則會遇到 “'express' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序”錯誤。
b.npm install xxx ,則是將模塊下載到當(dāng)前命令行所在目錄。
c:\123>npm install xxx //將會安裝到c:\123\node_modules\xxx
全局安裝完后可以在控制臺直接的使用,本地安裝的是項(xiàng)目開發(fā)過程中需要的依賴模塊

        本地安裝
        1. 將安裝包放在 ./node_modules 下(運(yùn)行npm時所在的目錄)
        2. 可以通過 require() 來引入本地安裝的包(按需引入)
        全局安裝
        1. 將安裝包放在 /usr/local 下
        2. 可以直接在命令行里使用

7、生成環(huán)境——正式上線的環(huán)境
一般安裝的有:vue、vue-router、vuex、jquery
開發(fā)環(huán)境——本地進(jìn)行開發(fā)調(diào)試的環(huán)境
一般安裝的有:babel、gulp、webpack、

8、
npm install moduleName 命令

  1. 安裝模塊到項(xiàng)目node_modules目錄下。
  2. 不會將模塊依賴寫入devDependencies或dependencies 節(jié)點(diǎn)。
  3. 運(yùn)行 npm install 初始化項(xiàng)目時不會下載模塊。因?yàn)榕渲梦募锩鏇]有任何的包管理,可能會報(bào)錯,如果別人項(xiàng)目需要jquery,而他是全局安裝的,項(xiàng)目里沒寫入,那么由于沒有安裝jq,那么可能會報(bào)錯

npm install -g moduleName 命令

  1. 安裝模塊到全局,不會在項(xiàng)目node_modules目錄中保存模塊包。
  2. 不會將模塊依賴寫入devDependencies或dependencies 節(jié)點(diǎn)。
  3. 運(yùn)行 npm install 初始化項(xiàng)目時不會下載模塊。

npm install -save moduleName 命令

  1. 安裝模塊到項(xiàng)目node_modules目錄下。
  2. 將模塊依賴寫入dependencies 節(jié)點(diǎn)。
  3. 運(yùn)行 npm install 初始化項(xiàng)目時,會將模塊下載到項(xiàng)目目錄下。
  4. 運(yùn)行npm install --production或者注明NODE_ENV變量值為production時,會自動下載模塊到node_modules目錄中。

npm install -save-dev moduleName 命令

  1. 安裝模塊到項(xiàng)目node_modules目錄下。
  2. 將模塊依賴寫入devDependencies 節(jié)點(diǎn)。
  3. 運(yùn)行 npm install 初始化項(xiàng)目時,會將模塊下載到項(xiàng)目目錄下。
  4. 運(yùn)行npm install --production或者注明NODE_ENV變量值為production時,不會自動下載模塊到node_modules目錄中。
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI