1 回答

TA貢獻1772條經(jīng)驗 獲得超8個贊
package-lock.json
用于簽入源代碼管理。如果你使用npm5(npm install -g npm@latest
),你可以在命令行中看到以下加粗文字內(nèi)容:created a lockfile as package-lock.json. You should commit this file.
由npm help package-lock.json
得來:
對于npm修改node_modules樹或package.json的任何操作,將自動生成package-lock.json。 它描述了生成的確切樹,以便后續(xù)安裝能夠生成相同的樹,而不管中間依賴性更新如何。
這個文件旨在被提交到源代碼庫,并提供各種用途:
描述一個依賴樹的單個表示,這樣就保證了成員、部署和持續(xù)集成能夠完全安裝相同的依賴項。
為用戶提供一個工具,使其能夠“穿越”node_modules的先前狀態(tài),而無需提交目錄本身。
通過可讀的源代碼控制擴展來促進樹的更大可視性。
并優(yōu)化安裝過程,允許npm跳過已安裝的軟件包重復(fù)的元數(shù)據(jù)解析。
關(guān)于package-lock.json
的一個關(guān)鍵細節(jié)是它不能被發(fā)布,并且如果在頂層包之外的任何地方被發(fā)現(xiàn),它將被忽略。它與npm-shrinkwrap.json(5)
共享格式,它基本上是相同的文件,但允許發(fā)布。除非部署CLI工具或以其他方式使用發(fā)布過程來生產(chǎn)生產(chǎn)包,否則不建議這樣做。
如果package-lock.json
和npm-shrinkwrap.json
都存在于一個包的根目錄下,package-lock.json
將被完全忽略。
- 1 回答
- 0 關(guān)注
- 4378 瀏覽
添加回答
舉報