是否可以根据条件导入模块?具体来说,仅当在浏览器中而不是在服务器中渲染angular 2通用应用程序时,才导入外部模块。
这个问题与某些依赖浏览器功能的PrimeNG模块有关,只能在浏览器中呈现。最好在服务器渲染时省略它们,因为日历和其他组件对于SEO并不真正重要。
目前,如果关闭服务器渲染,则可以渲染日历组件。但是,当我在app.module.ts中包含以下代码并打开服务器渲染时,服务器在button.js中产生错误“ ReferenceError:未定义事件”。
import { CalendarModule } from 'primeng/components/calendar/calendar';
@NgModule({
...
imports: [
...,
CalendarModule
]
})Run Code Online (Sandbox Code Playgroud)
角度提供了一个isBrowser条件。
import { isBrowser } from 'angular2-universal';Run Code Online (Sandbox Code Playgroud)
但是我不知道如何将其用于条件导入。是否真的有针对模块的方法?