我的 Visual Studio 2017 ASP.NET 项目中的应用myapp
有一些 typescript 文件。我使用 gulp 任务来生成JS文件,因此我不希望构建或语言服务创建这些 JS和JS.MAP 文件。
这就是我的TSCONFIG文件的样子:
{
"compileOnSave": false,
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"module": "system",
"types": [ "" ],
"lib": [
"es6",
"dom"
]
},
"include": [
"./myapp/**/*"
]
}
我尝试了以下内容:
答案 0 :(得分:4)
尝试在您的"noEmit": true
中添加tsconfig
。它应防止.js .js.map生成。
答案 1 :(得分:2)
尝试在您的 tsconfig 中添加 {{1}}。如果 TS 文件中有任何错误,它应该会阻止 .js .js.map 生成。
答案 2 :(得分:0)
如果 Visual Studio 似乎忽略了 tsconfig 文件中的 noemit 选项,请编辑您的项目文件。在项目文件中,转到包含其余 TypeScript 选项的 <PropertyGroup>
并在该 PropertyGroup 的开始和结束标记之间添加 <TypeScriptNoEmit>True</TypeScriptNoEmit>
。
答案 3 :(得分:0)
我注意到,如果我使用 angular 创建文件,它不会发出 .js,但如果我通过“新建项目”菜单从 Visual Studio 添加新的 TypeScript 文件,它会发出。事实证明,后者将构建操作设置为“TypeScript 文件”,而前者将构建操作设置为无,请勿复制。我将有问题的 TypeScript 文件更改为 None 并停止生成 .js 文件。这与 OP 没有影响的声明相反 - 但在我的情况下它起作用了。设置 noEmit: true 只会导致没有为我的 angular ng 构建生成 vendor.js 文件。