StaticInjectorError

최대 1 분 소요

StaticInjectorError(AppServerModule)[InjectionToken ng-toolkit-window] 에러를 해결해보겠습니다.

Angular universal에서 window를 사용하기 위해서 @ng-toolkit/universal에서 import 합니다.

import { WINDOW } from '@ng-toolkit/universal';
...
constructor(
  @Inject(WINDOW) public window: Window
)

그런데 빌드하면 다음과 같은 에러가 발생합니다.

StaticInjectorError(AppServerModule)[InjectionToken ng-toolkit-window]

이를 해결하기 위해서는 @Inject() 앞에 @Optional을 추가하여야 합니다.

import { Optional } from '@angular/core';
import { WINDOW } from '@ng-toolkit/universal';
...
constructor(
  @Optional() @Inject(WINDOW) public window: Window
)

참고 사이트

댓글남기기