次のJIT命令でビルドするとng build
; フラグng build --prod
を使用してAOT用にビルドしても、すべて問題ありません。アプリは動作します。しかし、それをコンパイルしようとすると (AOT) 、以下のエラーが発生します:--aot
ng build --aot
ngc
Can't resolve all parameters for HomeComponent in /appname/src/app/home/home.component.ts: (?).
これは HomeComponent クラスです:
import {EventManager} from 'app/directives/EventManager.directive';
@Component({
selector:'home',
template:`
...
`,
styleUrls: ['./home.component.css']
})
export class HomeComponent {
showLoggedBar:Boolean;
constructor(private _eventManager:EventManager) {
this._eventManager.showLoggedBar.subscribe((mode)=> {
if(mode)
{
this._eventManager.showBar.emit(true);
this.showLoggedBar = mode;
}
});
}
}
[編集済み] EventManager :
@Injectable()
export class EventManager {
public showLoggedBar: EventEmitter<any> = new EventEmitter();
public showLoggedDoBar: EventEmitter<any> = new EventEmitter();
public showDoBar: EventEmitter<any> = new EventEmitter();
public showBar:EventEmitter<any>=new EventEmitter();
public dataSearch:EventEmitter<any>= new EventEmitter();
public updateP:EventEmitter<any>=new EventEmitter();
public updateD:EventEmitter<any>=new EventEmitter();
public detailsAvailable:EventEmitter<any>= new EventEmitter();
public infoAp:EventEmitter<any>= new EventEmitter();
constructor() {
this.showBar.emit(true);
}
}
[編集] app.module.ts :
import{NgModule} from '@angular/core';
import {
LocationStrategy,
PathLocationStrategy
} from '@angular/common';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { routing, appRoutingProviders } from './app.routing';
import { HomeComponent } from './home/home.component';
import { HttpModule } from '@angular/http';
import {EventManager} from '../app/directives/EventManager.directive';
@NgModule({
declarations:
[
...
HomeComponent,
...
],
imports: [BrowserModule,HttpModule,...],
bootstrap: [AppComponent],
providers:[
...
EventManager,
...
]
})
export class AppModule {}
エラーの理由について何か考えはありますか?