当tsconfig.json在项目中时,保存上的Typescript编译无效

时间:2016-09-26 11:53:11

标签: visual-studio typescript

当我保存时,我无法使visual studio能够运行typescript编译到js。

enter image description here

我有一个xproj(带有net framework的asp.net核心) 适用于Visual Studio 2015的TypeScript 2.0.3工具更新3。

我曾尝试在tsconfig.json中启用"watch" : true,但它表示不支持当前主机。

我去了工具>选项>文本编辑器> TypeScript>项目并启用“自动编译不属于项目的TypeScript文件”

enter image description here

但是,.ts文件的更改只会在编译期间反映在.js文件中,但仅限于必须编译的c#服务器端文件发生更改时。

编辑:我已经发现,即使配置文件为空,项目目录中简单存在的tsconfig.json也会阻止编译,即使配置文件为空。

目前能以某种方式修复吗?

这是我的tsconfig.json的内容:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "diagnostics": true
  },
  "include": [
    "**/*.ts"
  ],
  "exclude": [
    "node_modules"
  ]
}

编辑2 :我也试过了:

{
  "compileOnSave": true,
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "diagnostics": true
  },
  "filesGlob": [
    "**/*.ts"
  ],
  "exclude": [
    "node_modules"
  ]
}

它没有做任何事情。

4 个答案:

答案 0 :(得分:10)

我卸载了Visual Studio 2015和Typescript 2.0.3。然后我重新安装了Visual Studio 2015.在打开我的解决方案并检查了Typescript 1.8.3之后,我安装了Typescript 2.0.3并在“compilerOptions”之前添加了“compileOnSave”。从那以后它对我有用。添加此选项后,需要重新启动Visual Studio。

{
  "compileOnSave": true,
  "compilerOptions": {
  ...
}

答案 1 :(得分:2)

"compileOnSave":true添加到 tsconfig.json 应该可以解决问题:

{
  "compileOnSave": true,
  "compilerOptions": {
  ...

答案 2 :(得分:0)

将tsconfig.json compileOnSave设置为true

{
   "compileOnSave": true,

   "compilerOptions": {
     "target": "es5",
     "module": "commonjs",...
 }
}

使用Visual Studio时,需要重新启动Visual Studio。

答案 3 :(得分:-1)

将compileOnSave添加到tscnfig.json将解决此问题。

{
   "compileOnSave": true,

   "compilerOptions": {
     "target": "es5",
     "module": "commonjs",...
 }
}