Ond*_*žka 5 symlink compilation typescript tsc
我有一个 TypeScript 2.0.3 项目的设置:
src/main/webapp/tsconfig.json
src/main/webapp/app -- contains .ts files
src/main/webapp/app/tsModels -- a symlink to ../../../../target/tsModels
target/tsModels/ -- contains .ts files
Run Code Online (Sandbox Code Playgroud)
目标是target/tsModels编译.ts 文件。
首先,与"rootDir": ".",tsc抱怨:
错误 TS6059:文件“[...]/target/tsModels/AboutWindupModel.ts”不在“rootDir”“[...]/src/main/webapp”下。'rootDir' 应包含所有源文件。
所以我试过了
{
"compilerOptions": { ...,
//"rootDir": ".",
"rootDirs": [".", "../../../target/tsModels"],
},
}
Run Code Online (Sandbox Code Playgroud)
还是一样。尝试:
{
"compilerOptions": {
//"rootDir": ".",
"rootDirs": [".", "../../../target/tsModels"],
},
"exclude": [
"node_modules",
"target/**",
"../../../target/**",
"../../../target/**/*",
"../../../target/tsModels/*",
"typings/main",
"typings/main.d.ts"
]
}
Run Code Online (Sandbox Code Playgroud)
但仍然得到那个错误。
所以似乎tsc不能正确处理符号链接,总是检查规范路径。
所以我想,好吧,让我们tsModels直接编译文件。所以我删除了符号链接并尝试:
"compilerOptions": {
//"rootDir": ".",
"rootDirs": [".", "../../../target/tsModels"],
},
Run Code Online (Sandbox Code Playgroud)
但这实际上并没有编译目录中的文件tsModels。
我什至尝试过
"rootDirs": "../../../target/tsModels",
Run Code Online (Sandbox Code Playgroud)
但tsc没有编译它,而是编译了.. 它完全遵守吗?
我应该怎么做才能从两个目录编译文件?
有没有办法使用指向外部目录的符号链接rootDir?
包含我尝试的所有垃圾的完整配置:
{
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
//"rootDir": ".",
//"rootDirs": [".", "../../../target/tsModels"],
"rootDirs": ["../../../target/tsModels"],
//"rootDir": "../../../target/tsModels",
"outDir": "../../../target/windup-web",
"sourceRoot": "/windup-web/"
},
"exclude": [
"node_modules",
//"target/**",
//"../../../target/**",
//"../../../target/**/*",
//"../../../target/tsModels/*",
//"target/tsModels/**",
"typings/main",
"typings/main.d.ts"
]
}
我认为preserveSymlinks编译器选项可以帮助你:
不要将符号链接解析为其真实路径;将符号链接文件视为真实文件。
https://www.typescriptlang.org/docs/handbook/compiler-options.html
例子:
{
"compilerOptions": {
"preserveSymlinks": true
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1187 次 |
| 最近记录: |