我将AngularJS应用升级到Angular,并且我创建了一个使用TypeScript 2.6.2的混合AngularJS / Angular项目。 (它基本上是通过Angular引导方法加载AngularJS,使用SystemJS加载模块)。
使用以下命令从Windows命令行运行节点安装的TypeScript时,它编译时没有错误:
npm run tsc
当我第一次尝试在Visual Studio 2015中构建项目时,TypeScript没有转换为JavaScript,因此我尝试将以下内容添加到.csproj文件中(之前没有包含TypeScript的说明)文件):
<ItemGroup>
<TypeScriptCompile Include="**\*.ts" />
现在我收到以下构建错误:
我的项目结构是这样的:
我的tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [ "es2015", "dom" ],
"noImplicitAny": false,
"suppressImplicitAnyIndexErrors": true,
"noStrictGenericChecks": true
},
"include": [ "**/*.ts" ]
}
可能会发生什么以及我可以采取哪些措施来成功构建项目?
答案 0 :(得分:0)
我发现我的项目没有通过Visual Studio成功构建的原因是我需要在解决方案中包含我的tsconfig.json文件。这会导致Visual Studio忽略.csproj文件中的TypeScript配置并使用tsconfig.json
我必须卸载并重新加载项目几次,之间保存,直到Visual Studio将VS2015项目属性识别为禁用。关闭并重新打开Visual Studio,如果出现提示,保存对项目的任何更改,可能会实现相同的目的:
该项目现在无需使用即可构建:
<TypeScriptCompile Include="**\*.ts" />
我在解决方案中不再有任何错误。
(我还在Visual Studio中使用Nuget包管理器安装和卸载了'TypeScript编译器',虽然我不确定这是否有任何影响,因为我已经从{{3安装了VS1015的TypeScript构建工具}})