-
Notifications
You must be signed in to change notification settings - Fork 11
Description
如果你在本地调试过外部依赖库,那么一定对 npm link 不会陌生,通过 link 命令可以将我们要使用的外部依赖从本地链接到全局 node_modules,之后在具体项目中我们再把他 link 进来,则完成了一次操作。但如果我们的项目和 library 共同维护了一份框架代码副本,那么 link 可能还会有一些其他意想不到的错误。
yalc 是一个类似于本地化 npm 的解决方案,它在本地环境中创建了一个共享的 library 存储库,使得你在需要使用本地依赖时可以快速从这个存储库拉取资源进行消费。
项目地址: https://github.com/whitecolor/yalc
Better workflow than npm | yarn link for package authors.
全局安装: yarn global add yalc
例子:
did-sdk 项目
yarn run build# 本地构建yalc publish# 发布到本地 yalc register
依赖did-sdk的项目
yalc add did-sdk# 依赖本地的yalc register
此时会在项目中生成目录 .yalc 与 yalc.lock 文件, 我是更加倾向于ignore的
调试不可能一蹴而就的, 肯定要往复不断
did-sdk有更新的话, 记得在did-sdk项目下执行 yalc publish ; 同时在依赖did-sdk的项目下执行 yalc update
手动在两个项目执行
yalc publish与yalc update太麻烦了怎么办
别慌, 其实是有自动化方案的,可以参考这篇文章 yalc + nodemon 方案
Git全局忽略文件
执行
yalc add后会生成配置文件yalc.lock, 为了防止不小心被提交到仓库, 最佳做法还是将其纳入.gitignore中
但是每个项目都单独添加的话, 很容易遗忘, 这里需要在全局git配置中忽略
-
编辑
~/.gitignore_globalyalc.lock .yalc/