Próbuję połączyć trochę angular2 aplikacji: nie używam maszynopis, ale raczej regularne ES6 z babelAngular2: Nie Dyrektywa adnotacja znaleźć na MyComponent
moich plików wygląda następująco:
//mycomponent.js
import { Component, View } from 'angular2/angular2';
@Component({
selector: 'my-app'
})
@View({
template: '<h1>My First Angular 2 App</h1>'
})
class MyComponent {
constructor() {
}
get prop() {
return 'hello';
}
}
export { MyComponent };
// index.js
import 'zone.js';
import 'reflect-metadata';
import { MyComponent } from './mycomponent';
import { bootstrap } from 'angular2/angular2';
bootstrap(MyComponent);
ten następnie zostanie skompilowany z użyciem WebPacka babel ładowarka z dwoma ustawieniami włączona ['es2015', 'stage-1']
gdy prowadził w przeglądarce to daje następujący błąd:
EXCEPTION: Error during instantiation of Token Promise!.
ORIGINAL EXCEPTION: No Directive annotation found on MyComponent
Próbowałem oczywiste dodanie adnotacji @Directive()
do MyComponent, ale to nie miało wpływu.
'@ Directive' jest adnotacja i czystego maszynopis. Nie ma odpowiednika JavaScript. Dekoratory w ES7 (!) To coś innego. Więc kiedy używasz '@ Component' używasz TypeScript. – zeroflagL