网站搜索

javascript - monorepo 效率:监视多个包


我在 JavaScript 的多包开发中遇到了困难。由于 lerna,构建时一切都按预期工作,但开发感觉很慢,因为每次上游包发生变化时,我都必须重新启动监视器。

我有一个包含几个 TypeScript 库(a、b、c)和一个 web 应用(web)的 monorepo。所有这些都是独立的 npm 包(package.json),有各自的构建和监听目标。这个 monorepo 目前使用 yarn、lerna、rollup(库)和 webpack(应用)、Windows 进行设置。

它们相互依赖,如下所示:

a 
  \
b --> c ---> web

我的工作流程如下:

  • 我以“watch”模式启动 a、c 和 web,这样它们就会捕捉到源代码的更改并重建。
  • 我更改了 a 中的源代码。a 的重建被触发并成功。
  • 既不重建 c,也不重建 web,所以我停止这些
  • 我“手动”重建了c
  • 我再次以开发模式启动web。

问题是,那种观察模式看起来比手动触发完整构建更快,但也许这是因为缓存了 node_modules?

所以我的问题是:为什么 c 虽然处于监听模式,却没有检测到 a 的变化?(我需要改变什么才能使它工作 ;))