为什么TypeScript编译器会忽略tsconfig.json?
我有一个从教程粘贴的文件(让我们面对它,文档、tut和示例之间的差异是惊人的): /脚本/tsconfig.json:为什么TypeScript编译器会忽略tsconfig.json?,json,typescript,gulp,asp.net-core,Json,Typescript,Gulp,Asp.net Core,我有一个从教程粘贴的文件(让我们面对它,文档、tut和示例之间的差异是惊人的): /脚本/tsconfig.json: { "compilerOptions": { "emitDecoratorMetadata": true, "experimentalDecorators": true, "module": "commonjs", "noEmitOnError": true, "noImplicitAny"
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"module": "commonjs",
"noEmitOnError": true,
"noImplicitAny": false,
"outDir": "../wwwroot/appScripts/",
"removeComments": false,
"sourceMap": true,
"target": "es5",
"moduleResolution": "node"
},
"exclude": [
"node_modules",
"typings/index",
"typings/index.d.ts"
]
}
选项设置为保存时编译,但每当我保存TypeScript文件时,JavaScript输出都会在源文件下或附加到源文件:
TypeScript
|
--test.ts
|
--test.js
,并且在物理上与源位于同一目录中,/TypeScript
。如果缺少tsconfig.json
,编译器会进行投诉,但当它存在并且确实存在时,编译器会忽略“outDir”:“./wwwroot/appScripts/”
设置
我真的是一个刚开始吞咽的人,但吞咽任务在我看来还行:
var tsProject = ts.createProject('scripts/tsconfig.json');
gulp.task('ts', function (done) {
//var tsResult = tsProject.src()
var tsResult = gulp.src([
"scripts/*.ts"
])
.pipe(ts(tsProject), undefined, ts.reporter.fullReporter());
return tsResult.js.pipe(gulp.dest('./wwwroot/appScripts'));
});
选项设置为保存时编译
保存文件时,它会自动编译单个文件以及在该文件上导入的文件。关闭IDE中的自动编译选项,编译器将考虑TSCONT.JSON文件。
在命令行上指定输入文件时,
tsconfig.json文件被忽略。
目录中存在tsconfig.json文件表示该目录是TypeScript项目的根目录。tsconfig.json文件指定编译项目所需的根文件和编译器选项。项目以以下方式之一编译:
使用tsconfig.json
什么是
ts
?这是gulp typescript模块吗?保存时编译什么?谢谢你的回答!这让我发疯,直到我记得我最近在我的tsconfig.json中添加了“compileOnSave”:true。我仔细指定了所有这些编译器选项,然后,在一系列未记录和奇怪的行为中,编译器忽略了编译器选项。。。因为我指定了一个输入文件?什么?当您指定要编译的文件时,tsc会忽略您的配置文件,这有什么逻辑原因吗?当你试图通过在单个文件上测试配置的速度来调试配置时,这尤其令人恼火。5年前,配置仍然准确。这应该是公认的答案。