Angular 2引导函数给出错误“参数typesAppComponent不能分配给参数typesType”

这是我的第一个简单的Hello Worldangular2应用程序从Angular 2快速入门指南 。

 import {Component} from 'angular2/core'; import {bootstrap} from 'angular2/platform/browser'; @Component({ selector: 'ng2-app', template: '<h1>My first Angular 2 App</h1>' }) export class AppComponent { } bootstrap(AppComponent); 

应用程序运行正常,当我用npm start运行,但我的IntelliJ IDE显示错误与bootstrap(AppComponent)

参数typesAppComponent不能分配给参数typesType

Angular 2打字稿警告

查看bootstrap函数声明, AppComponent需要扩展Type

 export declare function bootstrap(appComponentType: Type, customProviders?: Array<any>): Promise<ComponentRef>; 

我的问题是:

是否期望Angular组件能够扩展Type

实际上, AppComponent有望扩展Type 。 所以使用以下内容:

 // app.component.ts import { Component, Type } from '@angular2/core'; @Component({ ... ... }) export class AppComponent extends Type {} 

这也将遵循ngCom2对AppComponent的期望约定(被引导)。

我不确定为什么他们没有在NG2教程中介绍它,可能它们可能是为了简化初始学习,因为它甚至在没有扩展部分的情况下运行。

这在WebStorm / IntelliJ中工作得很好。

编辑:备用解决scheme是更新到Webstorm v2016.2(这是在这个评论时是稳定的)。

在Intellij 2016.1.2中,我偶然发现了Angular quickstart demo。 在IDE中设置以下选项有助于:

在这里输入图像说明

添加评论/注释如下所示解决了这个问题

 //noinspection TypeScriptValidateTypes bootstrap(AppComponent); 

上面的答案对我没有用。 我能够通过执行上面评论中推荐的内容来修复它。

 bootstrap(<any>AppComponent); 

我正在使用Intellij 14.1.5

国际海事组织改变了代码,只是为了使WebStorm / IntelliJ不会抱怨不是一个可行的解决scheme。 因为我有一个单独的捆绑/编译过程,我反而禁用IntelliJ的操作在打字稿:设置 – >语言 – >打字稿 – 取消select那里的选项。 如果你已经是这种情况,那么你可以尝试检查选项,应用然后再次取消选中。

你可以看到这还是有点bug。 例如,我使用IDE(SHIFT + F6)完成了一些类重命名后,返回的错误。 重复上述删除他们再次。

使用IntelliJ 15.0.2

Webstorm 2016.1.3上面的解决scheme适用于我

设置 – >语言和框架 – > TypeScript:启用TypeScript,使用tsconfig.json

PS:这与之前Webstorm版本(2016.1.3)所述的解决scheme相同,

由于TypeScript编译器引入的此错误在您的IDE中未启用。 您需要启用TypeScript编译器。

在Webstorm中启用Typescript编译器:

转到Webstorm菜单(左上angular菜单)=>首选项菜单=>语言和框架=>点击TypeScript =>启用Typescript编译器(启用checkbox)=>启用使用tsconfig.json选项=>单击确定button,你就完成了。

在这里输入图像说明

对于我必须做的新的angular2路由器

 bootstrap(AppComponent [ <any>APP_ROUTER_PROVIDERS ]).catch((err:any) => console.error(err)); 

注意任何APP_ROUTER_PROVIDERS而不是AppComponent。

//noinspection TypeScriptValidateTypes在WebStorm中为我工作。

此外,我已经在IntelIJ中打开了我的项目,没有错误。