应用程序/ boot.ts
import {bootstrap} from 'angular2/platform/browser';
import {AppComponent} from './app.component';
bootstrap(AppComponent);
应用程序/ app.component.ts
import {Component} from 'angular2/core';
@Component({
selector: 'my-app',
template: '{{title}}'
})
class AppComponent {
title: "app"
}
错误:
EXCEPTION: Token must be defined!
STACKTRACE:BrowserDomAdapter.logError @ angular2.dev.js:23514
ExceptionHandler.call @ angular2.dev.js:1147
(anonymous function) @ angular2.dev.js:14801
NgZone._notifyOnError @ angular2.dev.js:5796
collection_1.StringMapWrapper.merge.onError @ angular2.dev.js:5700
run @ angular2-polyfills.js:141
(anonymous function) @ angular2.dev.js:5719
NgZone.run @ angular2.dev.js:5681
ApplicationRef_.bootstrap @ angular2.dev.js:14906
bootstrap @ angular2.dev.js:25054
execute @ boot.ts:4
u @ system.src.js:4597
execute @ system.src.js:4597
y @ system.src.js:4597
...
答案 0 :(得分:17)
这是另一个错误,多次引起我的注意。我忘了(再次)导出我的根组件。它应该是:
export class AppComponent {
如果我花时间仔细查看堆栈跟踪(而不是搜索StackOverflow而不是找到我确切的问题),我会注意到它引用了我写的一个文件{{1} }。
答案 1 :(得分:3)
在我的情况下,这只是因为下一行末尾的分号:
import {Component} from 'angular2/core';
答案 2 :(得分:2)
对于那些来这里寻找任何灯光的人来说,这个非常一般的错误信息,我从我的一个测试规范文件中收到了这条消息,因为在同一个spec文件的底部定义了一个模拟服务,只是移动了它位于顶部(在测试定义之前),现在一切都按预期工作。
答案 3 :(得分:1)
我必须确保将AppComponent传递到main.ts中的bootstrap函数中:
bootstrap(AppComponent);
答案 4 :(得分:0)
确保您拥有所有这些条目,同时检查错误错误 App 而不是 AppComponent 等
<强> app.component.ts 强>
export class AppComponent {
name: string;
constructor() {
this.name = "World";
}
}
<强> main.ts 强>
import {bootstrap} from 'angular2/platform/browser';
import {AppComponent} from './app.component';
bootstrap(AppComponent);
答案 5 :(得分:0)
我也遇到过这个问题。在我的情况下,这是因为Augury扩展,因为我有Angular 2.1.3而且它支持2.3.0及以上。
答案 6 :(得分:0)
就我而言,这是 TestBed.get() 的错误 我使用错误的依赖名称作为参数。
let xyzService;
xyzService = TestBed.get(xyzService);
//Changing the above statement with xyzService = TestBed.get(XYZService); worked
这是一个非常愚蠢的错误xD