<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【每日一題NO.68】NPM2與NPM3的區(qū)別

          共 767字,需瀏覽 2分鐘

           ·

          2021-10-25 04:56

          npm2?所有項(xiàng)目依賴是嵌套關(guān)系。而 npm3 為了改進(jìn)嵌套過(guò)多、套路過(guò)深的情況,會(huì)將所有依賴放在第二層依賴中(所有的依賴只嵌套一次,彼此平行,也就是平鋪的結(jié)構(gòu))

          npm2 依賴安裝的時(shí)候比較簡(jiǎn)單,直接按照包依賴的樹(shù)形結(jié)構(gòu)下載填充本地目錄結(jié)構(gòu),也就是說(shuō)每個(gè)包都會(huì)將該包的依賴組織到當(dāng)前包所在的 node_modules 目錄中。
          npm3 則會(huì)對(duì)依賴安裝進(jìn)行了改造,采用扁平結(jié)構(gòu)的思路來(lái)組織依賴包的目錄結(jié)構(gòu)。具體的就是npm install的過(guò)程時(shí):按照 package.json 里依賴的順序依次解析,遇到新的包就把它放在第一級(jí)目錄,后面如果遇到一級(jí)目錄已經(jīng)存在的包,會(huì)先判斷該版本,如果版本一樣則忽略,否則會(huì)按照npm2的方式依次掛在依賴包目錄下。

          關(guān)于扁平的目錄結(jié)構(gòu)yarn從出生那天就包含這個(gè)特性。yarn 的出現(xiàn)給 npm 帶來(lái)了巨大的壓力,后來(lái),npm 學(xué)習(xí)了 yarn 先進(jìn)的理念,不斷的對(duì)自身進(jìn)行優(yōu)化,到了npm6版本,npm幾乎完全解決了自身的問(wèn)題,并擁有了下邊的特性:

          1. 目錄扁平化
          2. 并行下載
          3. 本地緩存
          4. 使用package-lock記錄確切依賴
          5. 增加了大量的命令別名(解決命名不夠語(yǔ)義化的問(wèn)題)
          6. 內(nèi)置了npx,可以啟動(dòng)本地的CLI工具
          7. 極大的簡(jiǎn)化了控制臺(tái)輸出

          所有《每日一題》的 知識(shí)大綱索引腦圖 整理在此:https://www.yuque.com/dfe_evernote/interview/everyday
          你也可以點(diǎn)擊文末的 “閱讀原文” 快速跳轉(zhuǎn)


          END
          愿你歷盡千帆,歸來(lái)仍是少年。
          瀏覽 157
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  观看黄色视频网站 | 做爰 视频毛片下载蜜桃视频 | 美日韩A片 | 亚洲最大成人网址 | 天天干天天日天天草 |