分享一个可以替代 npm link的工具 psync
特别说明
因为公司内部的开发,常常需要将很多的业务拆分成不同的包,一个代码仓库中可能放置数十个基础包,这个时候包与包之间相互依赖,就会非常复杂,我期望是修改一个包的代码,另外一个包可以马上得到最新的代码更新,能够马上预览效果,所以才开发了 psync。
介绍
有了 Psync,你可以放弃使用 npm link 或者 yarn link,你只需要配置你的开发目录,程序自动为你同步包。注意,需要你的电脑支持 rsync
原理
Psync 会自动分析你指定的目录的所有 package.json 文件的 name,和 node_modules 目录下的 package.json 文件的 name 进行依赖关联,在文件改动时,自动帮你更新。
安装
npm install -g @fmfe/psync
快速开始
# 指定一个文件夹
psync --dir=/Volumes/dev/followme/5.0
# 指定多个文件夹
psync --dir=/Volumes/dev/followme/5.0 --dir=/Volumes/dev/followme/6.0
配置文件
也可以在项目下创建配置文件:sync.config.json
{
"folders": ["/Volumes/dev/followme/5.0"]
}
在当前目录下运行:psync
3 回复
其实lerna link也挺方便的
@zy445566 哈哈,我试了一下,确实是可以的。看了一下,确实是创建了一个软连接。创建软连接开发的包,有时候会出现这种路径的问题。
原理的实现不一样,psync的策略是复制文件,而不是创建软连接。