如何解决为什么 Typescript 编译器在我的包之外编译?
我有一个包含多个包和一个共享库的 monorepo:
root/
one/
two/
three/
shared-lib/
package.json
tsconfig.json
tsconfig.json:
{
"compilerOptions": {
"rootDir": "src","outDir": "build","lib": [
"dom","dom.iterable","esnext"
],"esModuleInterop": true,"allowSyntheticDefaultImports": true,"moduleResolution": "node","declaration": true,"declarationMap": true,"skipLibCheck": true,"target": "es5","module": "esnext","jsx": "react"
},"include": [
"src"
],"exclude": [
"**/node_modules/**","node_modules","build"
]
}
当我尝试编译我的库时,我在包 one
、two
和 three
中遇到错误。
$ cd root/shared-lib
$ yarn run tsc -p tsconfig.json
../one/some/module/up/in/here:14:25 - error TS2307: Cannot find module ...
为什么我会在这里看到这些错误?为什么 tsc
试图编译我告诉它编译的包之外的东西?
解决方法
正如所建议的那样,根本原因是我无意中从 one/
内部引用了 two/
、shared-lib/
等(由于未完全将内容重构为 {{1} })。修复这些导入可以解决问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。