【发布时间】:2021-05-10 20:26:20
【问题描述】:
我有一个 lerna + yarn 工作区 monorepo,具有独立的版本控制。我在导入同级包时遇到问题。
我有两个包,一个应该依赖另一个,如下图:
(root)
|--packages
|--money
|--money-standard-units
|--{deps. on money}
在money-standard-deps 内部,我尝试导入money 的导出成员,但我无法这样做;我收到以下消息:
TS2307:找不到模块“money”或其对应的类型声明。
我知道可以通过将money 添加到money-standard-libs 的tsconfig 的paths 数组来解决此问题,但我想依赖 built 包,因为它们将被发布分开。我希望它能够像两个单独的存储库一样有效地工作。
我创建了一个demo repo。
【问题讨论】:
-
由于这很常见,需要更多的说明......也许是一个小的 github repo?
-
我认为@gaitat 可能就是这种情况。我把一个小例子放在一起,并添加了问题的链接。
-
我无法真正编译,因为没有
@somescope但可能在 money/src/index.ts 中将export * from './monetary-unit';更改为export { MonetaryUnit } from './monetary-unit'; -
@gaitat 你能具体说明“没有@somescope”是什么意思吗?如果您的意思是此范围未在 npmjs.com 上注册,那么这正是重点;这些包应该链接到本地。
-
我只是说这个
"dependencies": { "@somescope/money": "^0.0.0" }不会解决。
标签: typescript yarnpkg lerna yarn-workspaces