我在VS2015中安装了Angular2 rc5,并安装了MVC6。我在tsconfig.json中的Typescript compileOnSave设置一直存在问题。我已经完成了所有我能找到的修复,包括改变我的PATH环境变量中typescript的版本,它现在运行1.8。X而不是1.0.x。我试过在VS选项中设置编译保存,这似乎没有什么不同。我试过使用tsconfig中的手表设置。Json,导致我的编译错误。
我决定使用Gulp -watch和Gulp -typescript特性来让Gulp完成这一切,当我在测试时,我意识到当我删除tsconfig中设置的"outDir"文件夹中的任何.js文件时。json文件会自动重新创建所有的.js文件。我知道这是typescript执行这个操作,因为当我改变outDir设置时,它会在那个文件夹中执行。现在,如果我将compileOnSave设置为false,它仍然会自动创建。js文件。奇怪的是,它将重新创建所有的.js文件,即使我只删除其中一个。我可以通过gulp-watch的"change"one_answers"add"事件来解决这个问题。
我的问题是,这是正常的,它重新创建所有的js和js。映射文件每次一个js文件被删除?更重要的是,我怎么能得到它的compileOnSave作为它应该做的?
这是我的tsconfig。json文件
{
"compileOnSave": true,
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noEmitOnError": false,
"noImplicitAny": false,
"outDir": "./app"
},
"exclude": [
"node_modules",
"wwwroot",
"typings/main",
"typings/main.d.ts"
]
}
——
我相信这个问题已经解决了。看来,如果您使用此方法来解决编译ex) Invalid module name in augmentation, module '../../Observable' cannot be found
上的VS2015 typescript错误问题,则会导致此compileOnSave问题。我撤消了我所做的文件交换,一切正常。我相信这是在Angular VS2015快速入门中找到的解决方案,所以这可能会影响到一些人。
如果您使用此解决方案:https://github.com/Microsoft/TypeScript/issues/8518#issuecomment-229506507修复"在增强中无效的模块名称,模块"…/…/Observable' cannot found."这个问题在vs2015和各种版本的Angular(我使用的是rc5)中很常见,它可以破坏Typescript的"compileOnSave"功能。在撤消修复后,我的compileOnSave再次开始工作。
我对这两个问题的解决方案是升级到Typescript 2.0测试版。到目前为止,这已经解决了我所有的问题,还没有引入任何问题。