首页 > 解决方案 > Angular 项目中的 Visual Studio 2017 TS2304 和 TS2583 错误,但 ng build 工作正常

问题描述

使用 Angular 模板启动 .NET Core 2.2 项目。将 /ClientApp 文件夹替换为新的 CLI 生成的 Angular 7 应用程序。VS Build & ng build 都没有问题。但是,在 VS 错误列表选项卡上,大约有 16 个与 TS 相关的错误,其中 3 个是

Error   TS2304  (TS) Cannot find name 'Iterable'.
Error   TS2583  (TS) Cannot find name 'Map'.
Error   TS1219  (TS) Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning.

这让我发疯了。有人偶然发现这个并有解决办法吗?

我的 tsconfig.json 文件

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}

[更新] 只是为了添加细节-我注意到错误都引用了同一个文件,这是我最近通过VS添加的文件>添加新项目>打字稿文件。原来这会在 csproj 文件中添加文件引用,如下所示:

<!--<ItemGroup>
    <None Remove="ClientApp\src\app\mycomponent\mysvc.service.ts" />
  </ItemGroup>-->
  <!--<ItemGroup>
    <TypeScriptCompile Include="ClientApp\src\app\mycomponent\audit.service.ts" />
    <TypeScriptCompile Include="ClientApp\src\app\shared\models\commodel-result.model.ts" />
  </ItemGroup>-->  

标签: visual-studiotypescript

解决方案


好的,所以在终于设法解决了这个问题但仍然不明白为什么这些类型开始引起麻烦之后,这就是我所做的。请参阅上面帖子中的更新。我注释掉了 csproj 文件中的文件引用,“假”TS 错误消失了。

注意自我和其他人 - 最好通过角度 cli 添加新的角度组件/服务文件以避免这种情况。


推荐阅读