【问题标题】:Angular 6 Component Declaration compiler error in Visual StudioVisual Studio 中的 Angular 6 组件声明编译器错误
【发布时间】:2019-03-02 20:43:16
【问题描述】:

我刚刚将一个项目从 Angular 4 升级到 Angular 6。但我现在在 Visual Studio 中的组件声明中遇到编译器错误。所以下面的基本声明用红色下划线:

@Component({ 
    template: ''
}) 

并且在翻转时显示错误:

“{模板:字符串}”类型的参数不能分配给参数 类型'{模板中缺少类型'组件'属性'true': 字符串}'

不管这个声明有多复杂,不管是有选择器,模板url还是样式什么的,都没有关系,错误仍然存​​在,只是时间更长。

现在这对应用程序编译和运行的影响为零,它只是在编辑器中显示为错误。所以从 Angular 4 迁移到 Angular 6 时一定是 typescript 配置问题。在 Visual Studio 中加载 Angular 4 项目时,不会出现错误。

我正在使用 Visual Studio 2015、最新版本的 Angular CLI (6.2.3)、Typescript 2.8.3 和 TsLint 5.11.0。

我的项目的tsconfig如下:

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

任何帮助将不胜感激。

干杯 约翰

【问题讨论】:

    标签: angular typescript visual-studio-2015 angular-cli angular6


    【解决方案1】:

    Angular 6 在 package.json 中配置了 @angular/language-service

    这会检查您的 IDE,而 Angular 4 中未完成。

    因为它很新,我认为它有时会出错,所以这可能是你的问题。

    文档在这里:

    https://angular.io/guide/language-service

    我不使用 Visual Studio,所以从未见过这种情况,但在 WebStorm 中遇到了类似的问题。

    一般来说,但是语言服务擅长发现问题,因此最好保持启用它。也许以某种方式尝试修复或忽略您现在遇到的错误。

    【讨论】:

      猜你喜欢
      • 2019-02-19
      • 1970-01-01
      • 2014-11-24
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多