精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Yarn Link 是如何幫助開發者對 NPM 包進行 Debug 的?

開發 前端
我對其底層原理產生了興趣,所以寫了這么一篇文章,希望能夠通過故事的形式,來讓大家理解 yarn link 的使用場景和用法。

大家好,我是前端西瓜哥。最近在研究 React 源碼,用到了 yarn link 命令來鏈接兩個項目。

我對其底層原理產生了興趣,所以寫了這么一篇文章,希望能夠通過故事的形式,來讓大家理解 yarn link 的使用場景和用法。

另外 npm link 和 yarn link 的效果是相同的,下文就不提及 npm link 了。

有一天,小瓜維護的一個名為 xigua 的 NPM 包,被人提了 issue。小瓜看了下問題描述,憑著對項目的熟悉,他大概知道是哪里出了問題。

為了測試,小瓜搭建了一個 demo-project 項目,且這個項目通過 yarn add xiga 安裝了這個包,并在代碼中使用了它。

└── demo-project
└── node_modules
├── apple
└── xigua
├── old.js
└── package.json

理論上,小瓜去這個 demo-project 項目的 node_module/xigua 目錄下直接修改代碼就好了。

但不幸的是,里面的代碼是編譯出來的,無法直接修改。

小瓜于是跑到了 xigua-project 包的源碼項目中,運行了一個可以監聽源碼修改生成 npm 包內容的命令。小瓜修改了一處代碼,然后自動編譯到了 xigua-project/build/ 中。

└── xigua-project
└── build
└── xigua(編譯出來的文件夾)
├── fix.js
└── package.json

然后小瓜就復制編譯好的代碼,覆蓋掉原來的demo-project/node_module/xigua ,然后看看效果不對。小瓜發現不對,再改,然后再復制,一連重復了好幾次。

“我受不了了,得想個辦法。”小瓜說。每次編譯完都要手動進行復制操作,太搞人心態了。

機智的小瓜一番思考,最終想到了一個辦法。

  1. 將 demo-project 下的 xigua 依賴包刪除
  2. 然后創建一個 xigua 軟鏈接文件,鏈接到 xigua-project 下的編譯文件夾(軟鏈接可以理解為快捷方式文件,可以將文件位置重定向)。
├── demo-project
└── node_modules
├── apple
└── xigua(重定向) -> /xigua/build/node_modules/xigua
└── xigua-project
└── build
└── xigua(被鏈接的位置)
├── fix.js
└── package.json

利用軟鏈接,我們將兩個項目關聯了起來。

yarn link

此時,舍友小潤抱著他的猹路過了,猹是他的貓的名字。

小瓜正對自己的奇思妙想沾沾自喜,立馬向小潤吹噓起來。

小潤:“這個需求,包管理器是有相關命令支持的。”

小瓜:“居然有!展開說說怎么用。”

小潤于是講解了起來。

其實很簡單,我們進入到 xigua/build/xigua 目錄下,執行 yarn link。

$ yarn link
yarn link v1.22.17
success Registered "xigua".
info You can now run `yarn link "xigua"` in the projects where you want to use this package and it will be used instead.
? Done in 0.01s.

這樣,包管理工具就會 在全局注冊一個名為 xiuga 的鏈接。

具體就是創建一個 xigua 軟鏈接文件,指向這個 xigua 目錄。在 macOS 中,是在 ~/.config/yarn/link/xigua 目錄下。

鏈接指向如下:

~/.config/yarn/link/xigua  ->  /xigua-project/build/xigua

更準確來說,yarn link 是會從當前工作目錄往上找第一個有正確 package.json 文件的目錄,作為鏈接的對象,因為 npm 包里必須要有 package.json。

接下來我們再跑到 demo-project 項目的目錄下,執行 yarn link xigua

$ yarn link xigua
yarn link v1.22.17
success Using linked package for "xigua".
? Done in 0.01s.

它會做兩個操作:

  1. 將 demo-project 下的 xigua 依賴包刪除。
  2. 然后創建一個 xigua 軟鏈接文件,鏈接到 yarn/link/xigua。形成 demo-project -> yarn/link -> xigua-project的鏈。

小瓜震驚了:“這操作不就和我的做法一樣嗎?不過多了一個 中間人 yarn”。

是的,但 yarn 更方便。

yarn unlink

你在 demo-project 測試完了,想要斷開鏈接,此時需要執行:

$ yarn unlink xigua
yarn unlink v1.22.17
success Removed linked package "xigua".
info You will need to run `yarn install --force` to re-install the package that was linked.
? Done in 0.01s.

斷開鏈接后,因為原來的包刪掉并換了個鏈接文件,所以我們需要再把這個包裝回來,需要執行 yarn install --force

你說我刪除 node_modules,然后再執行 yarn 行不行。

可以,前提是你的 node_modules 沒有其他包的鏈接,否則的話會把其他包的鏈接也干掉。

如果要刪除全局的注冊的名為 xigua 的 link,需要進入到被鏈接的目錄下,執行 yarn unlink。

$ yarn unlink
yarn unlink v1.22.17
success Unregistered "xigua".
info You can now run `yarn unlink "xigua"` in the projects where you no longer want to use this package.
? Done in 0.01s.

結尾

yarn link 的作用是幫助我們調試開發的 NPM 包。

因為普通項目的依賴包安裝是從網絡下載安裝的,如果要使用本地編譯的 NPM 包,比較好的方式是刪掉依賴包,通過快捷方式來鏈接我們本地編譯包。

為了簡化這一流程,yarn link 出現了,通過中間者的形式,來實現快速地 link 和 unlink。

責任編輯:姜華 來源: 今日頭條
相關推薦

2025-01-06 13:03:11

2015-07-22 16:08:46

OpenStack開源貢獻代碼

2012-08-22 09:39:28

開發者

2022-04-26 05:55:13

容器K8s管理debug問題

2021-01-05 11:07:08

U-Link智能超鏈

2022-08-03 00:04:29

pnpmyarnnpm

2013-10-24 09:46:01

Firefox開發者

2014-04-17 10:42:50

DevOps

2012-09-19 10:25:56

iPhone 5游戲開發者

2023-08-24 07:31:16

2011-06-22 10:35:02

FirefoxWeb

2013-09-29 10:04:09

Arrownock開發者社交

2012-06-13 01:23:30

開發者程序員

2024-07-22 08:00:00

2010-05-07 12:27:11

Oracle data

2012-06-20 10:58:15

Surface平板微軟開發者

2012-07-31 09:01:05

2022-08-15 11:29:44

騰訊云云端開發工具Web IDE

2012-09-05 14:45:45

Windows 8
點贊
收藏

51CTO技術棧公眾號

免费在线观看av电影| 久久午夜鲁丝片午夜精品| 欧美暴力调教| 亚洲精品五月天| 九色91视频| 波多野结衣电影在线播放| 午夜精品毛片| 亚洲国产又黄又爽女人高潮的| 国产天堂在线播放| 伊人福利在线| 久久精品在线观看| 豆国产97在线| 在线观看免费视频一区| 亚洲日韩视频| 日韩在线视频网| 亚洲欧美日本一区| 外国成人毛片| 欧美日韩在线免费观看| 91制片厂免费观看| 理论视频在线| 99在线热播精品免费| 国产精品丝袜白浆摸在线| 国产一级视频在线| 国产精品成人a在线观看| 日韩精品免费观看| 欧洲成人午夜精品无码区久久| 黄色精品视频| 欧美日韩在线影院| 真实国产乱子伦对白视频| 91在线网址| 久久久久久9999| 国产一级精品aaaaa看| 国产精品毛片一区视频播| 免费在线亚洲| 久久青草精品视频免费观看| 永久免费看mv网站入口| 成人精品久久| 亚洲网址你懂得| 国产精品一级黄片| 国产女人18毛片水真多18精品| 日韩一区二区麻豆国产| 九九精品久久久| 成人免费毛片嘿嘿连载视频…| 福利一区福利二区微拍刺激| 久久亚洲a v| 超碰在线最新| 亚洲色图欧美偷拍| 亚洲一区二区三区涩| 成人精品福利| 欧美激情在线一区二区| 日韩国产一区久久| 国产福利电影在线| 国产欧美一区二区三区鸳鸯浴| 欧美精品免费观看二区| 久青草国产在线| 国产性天天综合网| 午夜一区二区三视频在线观看| 国产专区在线| 中文字幕欧美激情| 午夜精品亚洲一区二区三区嫩草| wwwxxx在线观看| 国产精品美女视频| 亚洲综合av一区| 男人资源在线播放| 亚洲女同ⅹxx女同tv| 国产精品一二三在线观看| 日韩激情av| 亚洲国产综合色| 国产午夜伦鲁鲁| 偷拍精品精品一区二区三区| 91福利精品视频| 免费看涩涩视频| 国产精品日韩精品在线播放 | 一区二区欧美日韩| 免费在线看黄色| 亚洲欧美日韩久久| 大胆欧美熟妇xx| 亚洲精品日产| 欧美视频日韩视频| 女王人厕视频2ⅴk| 国产一级成人av| 亚洲色图第三页| 懂色av蜜臀av粉嫩av永久| 51精产品一区一区三区| 欧美黄色片视频| 中文字幕超碰在线| 美女一区二区三区| 国产精品香蕉视屏| av在线天堂播放| 玉米视频成人免费看| 免费看国产一级片| 成人黄色免费观看| 亚洲成人激情在线观看| 非洲一级黄色片| 欧美一区成人| 欧美专区国产专区| 97在线播放免费观看| www.亚洲在线| 一区二区免费在线观看| 1区2区在线| 欧美日本一区二区| 人妻无码一区二区三区| 91超碰国产精品| 日本精品久久久久影院| 国产精品久久久久久免费| 成人免费毛片a| 亚洲综合av一区| 亚洲精品永久免费视频| 宅男噜噜噜66一区二区66| 51调教丨国产调教视频| 中文av一区| 国产91热爆ts人妖在线| 亚洲va久久久噜噜噜无码久久| 国产日韩av一区| 亚洲熟妇无码一区二区三区| 91视频成人| 亚洲午夜未删减在线观看| 国产91在线观看丝袜| 国产精品国产三级国产aⅴ入口 | 亚洲国产视频二区| 亚洲一区二区国产| 国产成人精品a视频一区| 另类小说欧美激情| 免费精品视频一区二区三区| av文字幕在线观看| 欧美日韩一区二区在线观看| 久久久久国产精品无码免费看| 99九九热只有国产精品| 日韩免费黄色av| 天堂av一区二区三区| 国产精品久久久久久久久晋中 | 91精品国产综合久久久久久久| 大又大又粗又硬又爽少妇毛片 | 99精品在线视频观看| 日本一区二区三区在线不卡| 91成人在线观看喷潮教学| 欧美一级片网址| xxx欧美精品| 中文字幕一区二区三区四区视频| 久久美女艺术照精彩视频福利播放 | 中文字幕精品一区二区三区在线| 一道在线中文一区二区三区| 午夜精品一区二区三区在线 | 一区二区三区在线视频111| 免费亚洲电影| 亚洲美女精品成人在线视频| 青草视频在线观看免费| 99久久久国产精品免费蜜臀| 国产精品久久久久久久久电影网| 秋霞影院一区| 九九热精品视频国产| 国产wwwxxx| 尤物av一区二区| 国产精品二区视频| 狠狠干综合网| 国精产品99永久一区一区| 国产在线xxx| 亚洲国产欧美在线成人app| 国产一级做a爱免费视频| 国产91丝袜在线播放九色| 国产玉足脚交久久欧美| 露出调教综合另类| 欧洲成人免费aa| www.视频在线.com| 在线不卡一区二区| 劲爆欧美第一页| 不卡的av中国片| 91av在线免费播放| 欧美一区二区三| 国产原创欧美精品| 七七成人影院| 亚洲精品成人av| 一级黄色av片| 亚洲欧美乱综合| 日韩av成人网| 噜噜噜91成人网| 这里只有精品66| 成人自拍在线| 欧洲成人在线视频| 1769视频在线播放免费观看| 91精品国产手机| 亚洲日本韩国在线| 国产日韩欧美一区二区三区综合| 爱豆国产剧免费观看大全剧苏畅| 欧美日韩免费| 蜜桃传媒视频第一区入口在线看| 成人交换视频| 韩剧1988免费观看全集| 成人在线免费观看| 欧美成人vps| 波多野结衣理论片| 中文字幕综合网| 朝桐光av一区二区三区| 青娱乐精品视频| 国产一级大片免费看| 女厕嘘嘘一区二区在线播放| 91久久精品国产91久久性色| 99riav视频在线观看| 色偷偷综合社区| 黑人乱码一区二区三区av| 色呦呦国产精品| 男女羞羞免费视频| 国产视频一区二区三区在线观看| 无套内谢丰满少妇中文字幕| 久久精品官网| 久久久久99精品成人片| 成人影院在线| 99免费在线观看视频| 成人看片网页| 韩国三级电影久久久久久| 日韩黄色影院| 亚洲女人天堂色在线7777| 99精品在线看| 欧美日韩电影在线播放| 日本亚洲欧美在线| 亚洲天天做日日做天天谢日日欢| 熟女少妇一区二区三区| 国产九色精品成人porny | 韩国精品免费视频| 超碰97人人射妻| 亚洲人成久久| 欧美一级爱爱视频| 欧美丰满日韩| 日本在线成人一区二区| 欧美美女在线直播| 翡翠波斯猫1977年美国| 精品中文字幕一区二区三区四区| 国产精品第100页| 国产精品av一区二区三区 | 成人免费福利| 2019中文在线观看| 丁香花在线电影小说观看| xxxxxxxxx欧美| 嫩草香蕉在线91一二三区| 一区二区亚洲欧洲国产日韩| 欧美亚洲日本| 亚洲精品一区二区三区婷婷月| 欧美熟妇另类久久久久久不卡 | 亚洲欧美日韩网站| 久久99精品久久久久久动态图| 国产精品涩涩涩视频网站| 亚洲九九精品| 国产精品久久久久7777| 国产精品vip| 精品少妇人欧美激情在线观看| 欧美在线资源| 国产午夜精品视频一区二区三区| 在线观看免费一区二区| 日本三级中文字幕在线观看| 亚洲欧美偷拍自拍| 九一免费在线观看| 欧美日韩视频一区二区三区| 日本aa在线观看| 在线播放精品| 欧美v在线观看| 老司机午夜精品视频在线观看| 成人在线观看黄| 久久亚洲国产精品一区二区| 日韩一级片播放| 奇米影视一区二区三区小说| 国产又猛又黄的视频| 美女在线视频一区| 日韩欧美中文在线视频| 成人午夜精品在线| 久久中文字幕人妻| 国产区在线观看成人精品| 美女100%露胸无遮挡| 国产精品乱码妇女bbbb| 免费视频一二三区| 欧美日韩久久久久| 波多野结衣电车| 欧美精品aⅴ在线视频| 国产高清视频免费| 亚洲精品美女免费| 国产成人天天5g影院在线观看| 波霸ol色综合久久| heyzo中文字幕在线| 国产精品a久久久久久| 亚洲精品大全| 国产一区二区免费电影| 国产欧美一区二区三区精品观看 | sese一区| 欧美大片网站在线观看 | 免费看电影在线| 国模精品一区二区三区色天香| 色老头在线一区二区三区| 国产精品一区=区| 欧美午夜网站| 鲁丝片一区二区三区| 无码一区二区三区视频| 青青草成人免费在线视频| 日韩vs国产vs欧美| aaaaa黄色片| 国产亚洲综合在线| 黄色一级视频免费观看| 欧美在线视频全部完| 国内爆初菊对白视频| 最近日韩中文字幕中文| 91福利区在线观看| 成人在线视频网站| 色狼人综合干| 高清无码一区二区在线观看吞精| 午夜一区在线| 无码人妻久久一区二区三区蜜桃| 久久久久久久久蜜桃| 久久久久无码国产精品| 欧美性猛交xxxx乱大交退制版| 亚洲精品久久久狠狠狠爱 | 性国产高清在线观看| 国产www精品| 爱高潮www亚洲精品| 99久久久无码国产精品性色戒| 亚洲在线网站| ass极品水嫩小美女ass| 中文一区二区在线观看 | 欧美日韩二区三区| 邻家有女韩剧在线观看国语| 久久免费国产视频| 精品一区二区三区中文字幕在线 | 91福利视频免费观看| 国产精品欧美一区喷水| 亚洲s码欧洲m码国产av| 亚洲国产精品网站| 欧美1234区| 91亚洲永久免费精品| 久久国产电影| 国产视频一区二区三区在线播放| aa级大片欧美| 日本中文字幕免费观看| 日韩欧美中文字幕精品| 色的视频在线免费看| 国产精品女人久久久久久| 亚洲成aⅴ人片久久青草影院| 欧美人成在线观看| 懂色av噜噜一区二区三区av| 欧美精品入口蜜桃| 日韩亚洲欧美在线观看| 中中文字幕av在线| 91传媒视频免费| 亚洲女同另类| 美女又黄又免费的视频| 亚洲欧美成人一区二区三区| 国产精品久久久久久在线| 久久亚洲国产精品| 国产不卡精品| 777久久精品一区二区三区无码 | 美女伦理水蜜桃4| 亚洲一区二区在线免费看| 亚洲乱码国产乱码精品精软件| 欧美高清在线视频观看不卡| 2023国产精华国产精品| 国产情侣第一页| 成人午夜大片免费观看| 国产成人无码精品| 亚洲免费一在线| 久久久人成影片一区二区三区在哪下载 | 97青娱国产盛宴精品视频| 精品国产一区二区三区无码| 成人性色生活片| www.国产com| 亚洲最新中文字幕| 青娱乐极品盛宴一区二区| japanese在线视频| 懂色中文一区二区在线播放| 日本一级淫片色费放| 日韩精品黄色网| 不卡亚洲精品| 国产a级黄色大片| 99久久精品免费看国产免费软件| 精品人妻一区二区三区免费看| 中文综合在线观看| 视频国产精品| 欧美aⅴ在线观看| 国产精品久久久久aaaa| 国产黄色片免费| 2019中文字幕免费视频| 日韩国产欧美| 中文字幕99页| 色综合av在线| caopon在线免费视频| 国产伦精品一区二区三区免费视频| 亚洲影院一区| 国产一区二区三区视频播放| 日韩精品一区二区三区四区视频| 亚洲欧洲自拍| 在线视频福利一区| 99久久久精品免费观看国产蜜| 亚洲图片欧美在线| 欧美极品少妇与黑人| 精品国产视频| 老熟女高潮一区二区三区| 色国产精品一区在线观看| 成年人网站在线| 欧美一区二区福利| 国产黄色精品视频| 中文字幕一区二区久久人妻| 久久91亚洲精品中文字幕奶水| 国产剧情在线观看一区| 蜜桃色一区二区三区| 欧美视频一二三区|