조건에 따라 모듈을 가져올 수 있습니까? 각도 2 범용 앱이 브라우저에서는 렌더링되지만 서버에서는 렌더링되지 않는 경우에만 외부 모듈을 가져옵니다.angular universal : 브라우저 전용 동적 가져 오기
이 질문은 브라우저 기능에 의존하는 일부 PrimeNG 모듈과 관련이 있으며 브라우저에서만 렌더링 할 수 있습니다. 그것은 서버 렌더링 원인 캘린더 및 기타 구성 요소에 대한 SEO 정말 중요하지 않습니다 그들을 생략하는 것이 좋을 것입니다.
현재 서버 렌더링을 끄면 Calendar 구성 요소를 렌더링 할 수 있습니다. 그러나 아래 코드를 app.module.ts에 포함시키고 서버 렌더링을 켜면 server.js에서 'ReferenceError : Event is not defined'오류가 발생합니다.
import { CalendarModule } from 'primeng/components/calendar/calendar';
@NgModule({
...
imports: [
...,
CalendarModule
]
})
import { isBrowser } from 'angular2-universal';
isBlast 대신 isPlatformBrowser를 사용하여이 작업을 수행하는 방법을 알고 있습니까? –
@RaymondtheDeveloper 유니버셜 "Gotchas"섹션에서 isPlatformBrowser가 [here] (https://www.npmjs.com/package/angular4-aspnetcore-universal)에서 설명한대로 작동해야한다고 생각합니다. 다른 모든 것은 isBrowser와 동일해야합니다. 시도 해봐. – Rodion
문제는 app.module.ts 내부에서 사용하고 싶다는 것입니다. 거기에 PLATFORM_ID를 주입하는 방법을 모르겠습니다.그리고 isPlatformBrowser가 작동하려면 PLATFORM_ID가 필요합니다. –