我看到这个问题,但略有不同并且没有答案
我有几个 git 子模块。它们是大型现有项目,我想我可以直接重用各个部分,例如:
myproject/
src/
submod1/src
submod2/src
Run Code Online (Sandbox Code Playgroud)
与 tsconfig.json 一样
<snip...>
"rootDir": "src/",
"outDir": "./dist",
"paths": {
"@submod1/*": [ "submod1/src/*" ],
"@submod1/*": [ "submod2/src/*" ],
"@app/*": [ "src/*" ]
},
Run Code Online (Sandbox Code Playgroud)
在我的代码中,比如
import { SomeVar } from '@submod1/constants';
Run Code Online (Sandbox Code Playgroud)
但 vscode (大概还有 tsc)正在报告
File '<path>/submod1/src/index.ts' is not under 'rootDir' '<path>/src'. 'rootDir' is expected to contain all source files.
我只是想做一些简单而务实的事情。有办法实现这一点吗?我想我可以用符号链接做一些事情,但这似乎是一个很大的错误。我可以将子模块放在 src/ 下,但这似乎也是错误的。
看起来这个问题没有“明确”的解决方案。你可以
myproject您的 中,如果您将拥有更多模块并且不想重用除和之外的任何内容,则可能会容易出错tsconfig.jsonrootDirsubmod1submod2或者
rootDirs属性有选择地包含所有需要的子模块{
"compilerOptions": {
"rootDirs": ["src", "submod1/src", "submod2/src"]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5012 次 |
| 最近记录: |