乐趣区

关于前端:前端小白工作记录之-yarn-link

工作之后,发现每天都能学到新的常识,对此感觉工作真的令人着迷,每天丰盛一点本人的知识面,通过千里之行; 始于足下,某一日我肯定也能成为大牛🤝🤝🤝,如果你也和我一样是个老手小白,那么就和我一起成长吧~~

前言

工作中碰到了一个辣手的事件,咱们公司有封装本人的组件库,在我修复 bug 的时候,发现某一个 bug 的根本原因在于援用的某个组件中的 if 语句 的判断条件不太对。

第一想法是批改组件库,可是随之而来的就是一个新问题

我批改了组件库之后,要怎么能力在 push 代码之前看到成果呢?

好家伙,这我还真不知道?

先说一下问题的起因,组件库中判断条件是 !isUndefined(value),即 该值为不是 undefined 就执行 if 语句

而我的我的项目中该值为 ””,有根底的人就晓得只有未定义才为 undefined

然而本着办法总比艰难多的准则,我试图绕过组件库,就在这个我的项目中批改,通过我的一番尝试之后,我还真发现了一个方法。

​ 通过删除某个值的定义,让关联的该值为 undefined

胜利之后,我屁颠屁颠的跑去🏃🏻‍♀️提了 PR,而后当我再次 check PR 的时候就看到了这样的场景

大抵意思就是,代码没有通过我的项目中编写的测试用例,因为测试用例不让该值为 undefined!好家伙,卡着了,矛盾了有没有?我总不能更改测试用例吧??😳

因而,绕了一圈,发现我还是得解决下面👆🏻的问题,外围是 在开发过程中,怎么把一个包链接到另一个我的项目 (ps: 其实我感觉开发中遇到问题其实不可怕,因为百度大多能够解决,尽管耗时耗力了一点,可怕的事,百度的时候不晓得如何形容)

上面👇🏻就来介绍一下通过问导师而后再百度丰盛的后果

什么是 yarn link?

  • 开发中,两个我的项目或多个我的项目之间相互依赖时,用 yarn link连贯,
  • 例如:咱们当初有我的项目 B,B 中利用 npm / yarn 包管理器 引入了 包 A,A 是咱们本人开发封装的组件,咱们批改了组件 A 的内容,在还没有从新公布组件 A 的时候,想要在我的项目 B 中 查看组件 A 批改的是否正确,这个时候就须要用到yarn link

如何应用 yarn link?

这里我想说一下,有些人通常用的是 npm,npm 和 yarn 的作用是一样的,只是具体的指令有些许区别 而 link 的话,间接讲 yarn 换成 npm 即可

  1. 在包 A(即封装好的组件库)中执行 yarn link
  2. 对包 A 进行 想要的批改 💻
  3. 执行 yarn buid(打包代码:具体指令依照 package.json 中 scrpit 来执行)
  4. 在我的项目 B 中执行yarn link [包 A 的名称] 并从新执行 yarn 并革除浏览器缓存
  5. 这个时候就能在我的项目 B 中查看改变之后的成果
  6. 完结之后,在我的项目 B 中 执行 yarn unlink [包 A 的名字]来勾销连贯
退出移动版