前端项目越来越大,成熟的团队免不了分模块开发再集成,有时候我们也会发布一些npm包用于拆分维护各种模块,这种时候,在正式发布前,我们的包往往不太方便测试,比如要输出bin等操作。

还好,npm以及后起之秀yarn都为我们提供了便捷的方式。

1、npm link/yarn link

在希望同步开发的组件包下执行(假设为component-a)

npm link
// or
yarn link

如果是npm,执行后如果项目没有node依赖,会在根目录创建一个空的node_modules,yarn则不会

回到使用依赖的项目下(假设为component-b),执行

npm link component-a
// or
yarn link component-a

现在我们就可以在component-b下正常使用component-a的功能了,且component-a改动会实时响应到component-b,其实实质上就是一个软连接,npm给我们提供了一个便捷的创建方法

2、yarn workspaces

npm link/yarn link的方式不够便捷,yarn为我们提供了另一种方式,不过按照官方说法,只能适用于” private”: true的项目

在package.json中增加workspaces字段,写入同目录下的目录名,然后在dependencies中指定workspaces中指定的目录下的包名,最后执行

yarn
// or
yarn install