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