tsconfig.json中保存时编译对新文件的作用与对现有文件的作用不同



所以我最近一直在尝试Angular及其功能。其中之一是tsconfig.json中的CompileOnSave功能,具有以下设置:

"outDir": "./dist/out-tsc",
"watch":  true,

然而,这一切都有效,我看到添加新文件和修改现有文件之间的行为不同。在这两种情况下,文件修改都会编译到./dist/out-tsc文件夹中。一切都很好。但是,添加新文件时,编译器还会在同一文件夹中生成一个.js文件及其相应的映射文件。这令人困惑。这是故意的吗?我应该手动删除它们还是可以自动删除?我的问题与类似

如何让Typescript编译器将编译后的js输出到其他目录?

但是,我已经配置了outDir属性。我正在使用Visual Studio 2019。请从项目目录的一部分查看下面的屏幕截图。api.component.ts是一个已存在的文件,其修改被编译到./dist/out-tsc目录中。file.tsfile1.tsfile2.ts是新文件,它们似乎被编译到创建它们的文件夹以及./dist-out-tsc文件夹中。我的Angular版本是8.3.14。

来自视觉工作室的丝网印刷

我的tsconfig.json看起来像这样:

{
"compileOnSave": true,
"compilerOptions": {
"baseUrl": "./",
"module": "esnext",
"outDir": "./dist/out-tsc",
"watch": true,
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}

我通过将其添加到.csproj文件中解决了问题。但是,我想强调的是,保存时编译在Visual Studio中已经关闭,Visual Studio重新启动。这就是为什么我猝不及防。我想这还不够。

<PropertyGroup>
<TypeScriptCompileOnSaveEnabled>False</TypeScriptCompileOnSaveEnabled>
</PropertyGroup>

相关内容

  • 没有找到相关文章

最新更新