为什么Visual Studio 2019在我的项目中添加<TypeScriptCompile Remove />?

时间:2019-10-23 07:46:26

标签: typescript visual-studio asp.net-core

我有一个在.net 4.7.2上运行的asp.net core 2.2项目,其中包括Microsoft.TypeScript.MSBuild nuget包。

每次我向项目中添加新的打字稿(.ts或.tsx)文件时,Visual Studio都会自动添加:

<ItemGroup><TypeScriptCompile Remove="myFile.ts" /></ItemGroup>

插入到我的项目.csproj文件中。

这是我的tsconfig文件:

{
  "compilerOptions": {
    // Target latest version of ECMAScript.
    "target": "esnext",

    // Search under node_modules for non-relative imports.
    "moduleResolution": "node",

    // Process & infer types from .js files.
    "allowJs": false,
    "jsx": "react",

    // Don't emit; allow Babel to transform files.
    "noEmit": true,

    // Enable strictest settings like strictNullChecks & noImplicitAny.
    "strict": true,

    // Disallow features that require cross-file information for emit.
    "isolatedModules": true,

    // Import non-ES modules as default imports.
    "esModuleInterop": true,

    "skipLibCheck": true,

    "baseUrl": ".",
    "paths": {
        /* my paths */
    }
  },
  "include": [
        /* my typescript folders */
  ],
  "exclude": [ "node_modules" ]
}

请注意,我仅使用软件包对文件进行类型检查,实际的编译是使用Babel完成的。

能帮我理解为什么Visual Studio在我的项目中添加了这些TypeScriptCompile Remove吗?我在做错什么吗?

1 个答案:

答案 0 :(得分:1)

添加了“删除”条目,以使嵌套的filename.js和filename.js.map文件不会出现在项目文件夹结构中。该指令明确告诉Visual Studio不要编译该文件,而是允许您使用其他编译器(通过NPM下载的TSC或什至Angular编译器)。基本上,它告诉VisualStudio摆脱干扰。