Yarn link 链接本地项目
本文最后更新于:2020年12月30日 凌晨
场景
作为 JavaScript SDK 的开发者一定都知道,想要在未发布前进行测试整个包可谓是困难重重。而 yarn link
这个命令便是为了解决这个需求而产生的,它能让包引用并测试自身,即便包并未发布或不包含在 package.json
中亦然。
操作
链接包
在命令行运行即可将当前包链接安装到这个包中,即便你在 package.json
并不会找到显式的依赖。
1 |
|
注:如果当前包是
cli
,即package.json
中包含bin
字段,则还会被链接到 yarn 的全局脚本目录中。
yarn 的全局脚本目录可以通过执行yarn global bin
进行查看,如果要在全局执行,则需要将该目录设置到环境变量Path
中,然后就可以全局运行命令了。
然后,便可以在项目中使用了(测试)
1 |
|
取消链接
如果不需要了,则也可以轻易通过 unlink
移除。
1 |
|
注:同样的,如果当前包是
cli
,则 yarn 全局bin
目录中也会进行删除
通用 script
每个项目都这样太麻烦了,可否添加一个通用 script
脚本呢?
当然是可以的,通过 %npm_package_name%
我们便能在 srcipt
中访问到项目名
1 |
|
以后便可以直接将命令复制到 script
即可直接使用了。
注:使用
%%
包裹便能在script
中使用,该方式在 Windows 下生效,Linux 下似乎需要添加前缀$
,不过吾辈并未测试(懒得折腾 Linux 桌面了)。
然而,问题并非不存在了,例如本地使用 Windows 构建,然而远程 CI 使用 Linux,那这个脚本就要炸了。。。所以,如果你需要上 CI 的话,还是老实改名字吧。
或者也可以使用 VSCode + WSL?#笑