2016-01-02 10 views
10

APP/boot.tsAngular2 wyjątek: Token musi być zdefiniowana

import {bootstrap} from 'angular2/platform/browser'; 
import {AppComponent} from './app.component'; 
bootstrap(AppComponent); 

app/app.component.ts

import {Component} from 'angular2/core'; 
@Component({ 
    selector: 'my-app', 
    template: '{{title}}' 
}) 
class AppComponent { 
    title: "app" 
} 

Błąd:

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 
... 

Odpowiedz

16

To kolejny błąd, który złapał mnie wiele razy. Zapomniałem (jeszcze raz) wyeksportować mój składnik root. Powinno być:

export class AppComponent { 

Jeśli wziąć czas, aby przyjrzeć się bliżej tylko trochę w ślad stosu (zamiast poszukiwania StackOverflow i nie znaleźć mój dokładnie problem), chciałbym zauważyć, że odwołuje się jedną z pliki, które napisałem, boot.ts:4.

3

W moim przypadku, że właśnie z powodu średnikiem na końcu następującą linię:

import {Component} from 'angular2/core'; 
+1

Zmienili to od czasu wydania kandydatów. Teraz jest: 'import {Komponent} od" @ kątowy/rdzeń ";' – Charlie

1

musiałem zrobić upewnić AppComponent został przekazany do funkcji bootstrap w moich main.ts:

bootstrap(AppComponent); 
0

Upewnij się, że wszystkie te wpisy, również sprawdzić typo błędów App zamiast AppComponent itp

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); 
2

Tylko dla nikogo innego przybycie szuka jakiegokolwiek związku z tym bardzo ogólnym komunikatem o błędzie, byłem otrzymania tej wiadomości z jednego z moich plików specyfikacji testu, ponieważ była tam fałszywa usługa zdefiniowana na dole tego samego pliku spec, po prostu przeniesiono go na górę (przed definicją testu), a teraz wszystko działa zgodnie z oczekiwaniami.

+0

Aby dodać do tego, miałem literówkę na usługę, którą wstrzykiwałem przed hakiem, Po ustaleniu, że rzeczy nadal działają. –

0

Wystąpił również ten problem. W moim przypadku było to z powodu rozszerzenia Augury, które rzucało, ponieważ miałem Angulara 2.1.3 i obsługuje on wersję 2.3.0 i wyższą.

Powiązane problemy