package.json與package-lock.json的區別


  1. 使用npm5之前的版本,是不會生成package-lock.json這個文件的。
  2. npm5以后,包括npm5這個版本,才會生成package-lock.json文件
  3. 當使用npm安裝包的時候,npm都會生成或者更新package-lock.json文件
    • npm5以后的版本,在安裝包的時候,不需要加 --save(-s) 參數,也會自動在package.json中保存依賴項
    • 當安裝包的時候,會自動創建或者更新package-lock.json文件
    • package-lock.json文件內保存了 node_modules中所有包的信息,包含這些包的名稱、版本號、下載地址。帶來好處是,如果重新 npm install 的時候,就無需逐個分析包的依賴項,因此會大大加快安裝速度。
    • 從 package-lock.json 文件名來看,lock代表的是“鎖定”的意思。它用來鎖定當前開發使用的版本號,防止npm install的時候自動更新到了更新版本。因為新版本有可能會更新老的api,導致之前的代碼出錯。
    • 原來的 package.json 文件只能鎖定大版本,也就是版本號的第一位,並不能鎖定后面的小版本,你每次npm install都是拉取的該大版本下的最新的版本,為了穩定性考慮我們幾乎是不敢隨意升級依賴包的,這將導致多出來很多工作量,測試/適配等,所以package-lock.json文件出來了,當你每次安裝一個依賴的時候就鎖定在你安裝的這個版本。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM