2019-03-31 什么是package-lock.json(官方文檔解釋)

描述

package-lock.json會自動為npm修改node_modules樹或任何操作而生成package.json烟具。它描述了生成的確切樹肢预,以便后續(xù)安裝能夠生成相同的樹,而不管中間依賴性更新如何饮潦。

這個文件旨在被提交到源代碼庫爆袍,并提供各種用途:

描述依賴關(guān)系樹的單一表示,以確保隊友践宴,部署和持續(xù)集成確保安裝完全相同的依賴關(guān)系。

為用戶提供一個設(shè)施爷怀,使其能夠“前往”以前的狀態(tài)浴井,node_modules而不必提交目錄本身。

通過可讀的源代碼控制差異來促進樹更改的更大可見性霉撵。

并通過允許npm跳過先前安裝的軟件包的重復(fù)元數(shù)據(jù)分辨率來優(yōu)化安裝過程。

一個關(guān)鍵的細節(jié)package-lock.json是它不能被發(fā)布洪囤,并且如果在頂層包之外的任何地方發(fā)現(xiàn)它將被忽略徒坡。它與npm-shrinkwrap.json共享格式,它基本上是相同的文件瘤缩,但允許發(fā)布喇完。除非部署CLI工具或以其他方式使用發(fā)布過程來生產(chǎn)產(chǎn)品包,否則不建議這樣做剥啤。

如果兩個package-lock.json和npm-shrinkwrap.json存在于包的根锦溪,package-lock.json將被完全忽略不脯。

文件格式

名稱

包的名稱,這是一個包鎖刻诊。這必須與內(nèi)容匹配?package.json防楷。

包的版本,這是一個包鎖则涯。這必須與內(nèi)容匹配?package.json复局。

lockfileVersion

整數(shù)版本,1從此文檔的版本號開始粟判,在生成此版本時使用其語義package-lock.json亿昏。

packageIntegrity

這是從創(chuàng)建的子資源完整性值package.json。不package.json應(yīng)該進行預(yù)處理档礁。子資源完整性字符串可以由模塊生成?ssri角钩。

preserveSymlinks

表示安裝是在NODE_PRESERVE_SYMLINKS啟用環(huán)境變量的情況下完成的?。安裝程序應(yīng)該堅持該屬性的值與該環(huán)境變量相匹配呻澜。

依賴

包名稱到依賴對象的映射递礼。依賴項對象具有以下屬性:

這是一個說明符,它唯一標(biāo)識了這個包易迹,并且可以用來獲取它的新副本宰衙。

捆綁的依賴關(guān)系:無論來源如何,這是純粹用于信息目的的版本號睹欲。

注冊表來源:這是一個版本號供炼。(例如1.2.3)

git sources:這是一個解析commitit的git說明符。(例如git+https://example.com/foo/bar#115311855adb0789a0466714ed48a1499ffea97e)

http tarball來源:這是tarball的URL窘疮。(例如https://example.com/example-1.3.0.tgz)

本地tarball源碼:這是tarball的文件URL袋哼。(例如file:///opt/storage/example-1.3.0.tgz)

本地鏈接源:這是鏈接的文件URL。(例如file:libs/our-module)

廉正

這是此資源的標(biāo)準(zhǔn)子資源完整性闸衫。

對于捆綁的依賴項涛贯,不包括源代碼。

對于注冊表來源蔚出,這是integrity注冊表提供的弟翘,或者沒有提供SHA1的shasum。

對于git來源骄酗,這是我們克隆的特定提交散列稀余。

對于遠程tarball源,這是基于文件SHA512的完整性趋翻。

對于本地壓縮包來源:這是一個基于文件SHA512的完整性字段睛琳。

解決

對于捆綁的依賴項,不包括源代碼。

對于注冊表來源师骗,這是相對于注冊表URL的tarball路徑历等。如果tarball URL與注冊表URL不在同一臺服務(wù)器上,那么這是一個完整的URL辟癌。

捆綁

如果為true寒屯,則這是捆綁的依賴關(guān)系,并將由父模塊進行安裝愿待。安裝時浩螺,此模塊將在提取階段從父模塊中提取,而不是作為單獨的依賴項安裝仍侥。

開發(fā)

如果為true要出,那么這個依賴是或者是頂層模塊的開發(fā)依賴,或者是一個依賴的傳遞依賴农渊。這對于既是頂級開發(fā)依賴性又是頂級非開發(fā)依賴性的傳遞依賴性的依賴性是錯誤的患蹂。

可選的

如果為true,那么這個依賴是或者是頂層模塊的可選依賴砸紊,或者是一個可傳遞的依賴传于。對于既是頂層可選依賴項又有頂層非可選依賴項的傳遞依賴項的依賴項,這是錯誤的醉顽。

即使在當(dāng)前平臺上可以卸載沼溜,也應(yīng)包含所有可選的依賴關(guān)系。

依賴

這個依賴關(guān)系的依賴關(guān)系游添,就像在頂層一樣系草。

參考:https://docs.npmjs.com/files/package-lock.json

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市唆涝,隨后出現(xiàn)的幾起案子找都,更是在濱河造成了極大的恐慌,老刑警劉巖廊酣,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件能耻,死亡現(xiàn)場離奇詭異,居然都是意外死亡亡驰,警方通過查閱死者的電腦和手機晓猛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凡辱,“玉大人鞍帝,你說我怎么就攤上這事∩访#” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長续徽。 經(jīng)常有香客問我蚓曼,道長,這世上最難降的妖魔是什么钦扭? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任纫版,我火速辦了婚禮,結(jié)果婚禮上客情,老公的妹妹穿的比我還像新娘其弊。我一直安慰自己,他們只是感情好膀斋,可當(dāng)我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布梭伐。 她就那樣靜靜地躺著,像睡著了一般仰担。 火紅的嫁衣襯著肌膚如雪糊识。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天摔蓝,我揣著相機與錄音赂苗,去河邊找鬼。 笑死贮尉,一個胖子當(dāng)著我的面吹牛拌滋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播猜谚,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼败砂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了龄毡?” 一聲冷哼從身側(cè)響起吠卷,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沦零,沒想到半個月后祭隔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡路操,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年疾渴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屯仗。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡搞坝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出魁袜,到底是詐尸還是另有隱情桩撮,我是刑警寧澤敦第,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站店量,受9級特大地震影響芜果,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜融师,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一右钾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧旱爆,春花似錦舀射、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至空镜,卻和暖如春浩淘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吴攒。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工张抄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人洼怔。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓署惯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親镣隶。 傳聞我的和親對象是個殘疾皇子极谊,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 本文轉(zhuǎn)載自我的個人博客,原文請移步安岂。這是介紹包管理工具(npm 和 yarn)系列的第一篇文章轻猖,在這一篇文章中,我...
    陳鑫呀閱讀 2,476評論 0 2
  • 概要 64學(xué)時 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,223評論 0 3
  • 有同學(xué)提到說package-lock.json文件很容易產(chǎn)生沖突域那,我們不妨先放下這個問題咙边,先來看看為什么我們需要p...
    貓仔糧閱讀 12,984評論 1 9
  • ORID是一種回顧技術(shù): Objective客觀性 Reflective反應(yīng)性 Interpretive詮釋性 D...
    敬恒教練閱讀 830評論 0 0
  • 最近败许,國內(nèi)上演搶人大戰(zhàn),非常熱烈淑蔚。 只要是今年剛大學(xué)畢業(yè)市殷,可以在國內(nèi)大部分城市直接落戶,如果是三年內(nèi)畢業(yè)的刹衫,也有相...
    癡者無心閱讀 186評論 0 0