В моем приложении Angular 2 я предоставляю объект окна, используя то, что описано здесь: Angular2 - Как внедрить окно в службу angular2.
Однако компилятор ngc, используемый для AOT, возвращает несколько ошибок. Сначала мне пришлось изменить способ предоставления зависимости (обратите внимание на «Окно»):
@NgModule({
providers: [
{ provide: 'Window', useValue: window }
],
...
})
export class AppModule {}
И в моем компоненте (обратите внимание на тип «любой»):
@Component({ ... })
export default class MyComponent {
constructor (
@Inject('Window') private window: any
) {}
...
Однако я все еще получаю следующую ошибку, выдаваемую компилятором ngc в моем модуле ngfactory:
Свойство «окно» не существует для типа
Опять же, с компилятором tsc все работает нормально.