Monorepos 和跨包开发。使用 src/ 或 dist/?

Mic*_*A58 5 theory typescript webpack monorepo yarnpkg

我的纱线工作区打字稿 monorepo-nians,

问题:当您在 monorepo 中工作时,您是否能够跨包导入和使用源代码,还是依靠构建步骤工件来使用来自单独包的包?

例如你有这个文件夹结构

packages/
  frontend/
  api/
  dateTimeHelpers/
    src/
    dist/
Run Code Online (Sandbox Code Playgroud)

无论frontend/api/对依赖dateTimeHelpers

frontend/ + api/ package.json

dependencies: {
  dateTimeHelpers: "1.0.0"
}
Run Code Online (Sandbox Code Playgroud)

您正在运行frontend,热重装等,并希望将功能添加到dateTimeHelpers了内包和使用说功能frontend

你必须编译dateTimeHelpers程序包(又名frontend使用dateTimeHelpers / DIST文件夹),或将您的前端导入SRC从代码dateTimeHelpers和编译它的飞行(或只是当它建立)?

所有的包都是用 TypeScript 编写的,需要一个构建步骤才能使用。

谢谢你的娱乐。我很难看到我应该拍摄什么。我可以dist使用 - 但我不想运行两个构建命令,也不想在开发时临时构建。

干杯

Mic*_*A58 2

我要结束这个问题,因为我相信这是解决它的正确行为!

看来即使在 TS 社区内部,对此也存在困惑。

当您在其中构建时,frontend/应该知道这dateTimeHelpers是一个依赖项,然后进行构建。

所以这意味着每个包总是在工作,dist/但 webpack 知道跨包编译。

https://github.com/TypeStrong/ts-loader/releases/tag/v8.0.0

https://github.com/TypeStrong/ts-loader/issues/1114