私の Angular 2 アプリケーションでは、ここで説明されているものを使用してウィンドウ オブジェクトを提供します: Angular2 - How to inject window into an angular2 service。
ただし、AOT に使用される ngc コンパイラはいくつかのエラーを返します。まず、依存関係を提供する方法を変更する必要がありました (「ウィンドウ」に注意してください)。
@NgModule({
providers: [
{ provide: 'Window', useValue: window }
],
...
})
export class AppModule {}
そして私のコンポーネントでは(タイプ「any」に注意してください):
@Component({ ... })
export default class MyComponent {
constructor (
@Inject('Window') private window: any
) {}
...
ただし、モジュール ngfactory の ngc コンパイラによってスローされる次のエラーが引き続き発生します。
プロパティ 'window' はタイプに存在しません
ここでも、すべてが tsc コンパイラで正常に動作しています。