package.json 總結

  • 646
  • 0
  • 2021-12-30

package.json 總結

devDependencies與dependencies

package.json 中的 devDependencies 與 dependencies 的依賴包都會下載到nodemodule裡面,但如果是npm套件的話使用者下載就只會下載dependencies裡面的依賴

devDependencies 開發時候的依賴

dependencies 上線時還要繼續使用的依賴

npm i 與npm ci

npm i 安裝的時候會自動幫我們更新依賴的版本

npm ci 就可以避免這個狀況(會針對 package-lock.json 來還原套件)

不過我們也是有辦法在npm i 的時候去做個限制或指定版本以下為比較常用的

  1. 只有數字,指定版本號
  2. ~  取到第三位
  3. ^  取到第二位
  "dependencies": {
    "pinia": "2.0.6", 只要使用2.0.6
    "vue": "~3.2.26", 可使用3.2.x並且小於3.3.0
    "vue-router": "^4.0.12"  可使用4.x.x並且小於5.0.0
  }

做了設定後就不怕有人npm i 偷偷更新到不兼容的版本

參考

https://blog.poychang.net/package-json-version/

https://hsiangfeng.github.io/nodejs/20211027/1827968017/