【发布时间】:2020-06-03 08:12:35
【问题描述】:
我有一个使用 yarn 工作区和以下文件夹结构创建的 monorepo:
├── foo (workspace @project/foo)
│ ├── package.json
│ └── src
│ └── index.ts
├── bar (workspace @project/bar)
│ ├── package.json
│ └── src
│ └── index.ts
├── package.json (monorepo root)
└── tsconfig.json (base tsconfig)
以及tsconfig.json中的如下设置:
{
"compilerOptions": {
"baseUrl": ".",
"module": "commonjs",
"paths": {
"@project/foo/*": "./packages/foo/src/*",
"@project/bar/*": "./packages/bar/src/*"
},
...
}
}
在@project/bar工作区,我想从@project/foo导入模块:
import foo from "@project/foo";
但我收到以下错误:
找不到模块'@project/foo'或其对应的类型声明.ts(2307)
如果我从“路径”对象的键和值中删除 * 符号,代码就会编译。这是为什么?如何保持* glob 模式并对本地模块进行非相对导入?
【问题讨论】:
标签: typescript tsconfig monorepo tsconfig-paths