如何在没有构建“错误"的情况下将Angular-CLI与Visual Studio 2017结合使用 [英] How to use Angular-CLI with Visual Studio 2017 Without Build "Errors"
问题描述
我遇到的问题是在许多项目的解决方案中(其中一个是针对es5的angular-cli项目),因为微软开发了Typescript,他们迫切希望在不完全了解Angle的情况下进行编译-cli的故事.因此(TS)错误经常在构建之间频繁出现,并掩盖了原本是有效的错误.
The problem I've encountered is in a solution with many projects (one of them being a angular-cli project targeting es5) is that, since Microsoft developed Typescript, they are over eager to attempt to compile without fully knowing the angular-cli story. Therefore (TS) errors frustratingly crop up frequently between builds and hide what would otherwise be a valid error.
如何确保Visual Studio将忽略这些Typescript错误,并且不会在构建后的所有时间都显示它们?
How can I ensure that Visual Studio will ignore these Typescript errors and not show them at all post-build?
推荐答案
结果是,由于angular-cli使用其自身的配置文件进行构建,因此可以安全地修改Microsoft在构建之前检查的tsconfig.json
文件.我的解决方案是按如下方式修改tsconfig.json
:
Turns out, since angular-cli uses it's own configuration file for builds, it's safe to modify the tsconfig.json
file that Microsoft checks before builds. My solution was to modify my tsconfig.json
as follows:
{
"exclude": [
"node_modules/*",
"src/*",
"app/*",
"@angular/*",
"package.json"
],
"compileOnSave": false,
"compilerOptions": {
"outDir": "./wwwroot",
...
"experimentalDecorators": true,
"target": "es6",
...
},
"ignoreRules": {
"TS2307": true,
"TS2304": true,
"TS2693": true
}
}
有效地阻止Visual Studio编译,而是默认为ng-build(它本身配置为输出到wwwroot),当在Visual Studio中单击运行"按钮时,效果也很好.
Effectively blocking Visual Studio compilation and instead defaulting to ng-build (which itself is configured to output to wwwroot) Which also plays nice when hitting the "run" button in Visual Studio.
.csproj
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
...
<Target Name="DebugRunWebpack" BeforeTargets="Build">
<!-- Ensure Node.js is installed -->
<Exec Command="node --version" ContinueOnError="false">
<Output TaskParameter="ExitCode" PropertyName="ErrorCode" />
</Exec>
<Error Condition="'$(ErrorCode)' != '0'" Text="Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE." />
<Exec Command="npm install" />
<Exec Command="ng build --env=$(Configuration)" />
</Target>
angular-cli.json
angular-cli.json
"apps": [
{
"root": "src",
"outDir": "wwwroot",
...
还有一件事...
您还必须在Startup.cs文件中设置默认路径:
You'll also have to set the default path in your Startup.cs file:
context.Request.Path = "/index.html";
这篇关于如何在没有构建“错误"的情况下将Angular-CLI与Visual Studio 2017结合使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!