Angular 4通用应用 - 如果浏览器,包括模块

6

我正在使用的一些软件包在universal上无法正常工作。我想知道是否有一种方法,只有在服务器上时才加载特定的模块。

根据官方仓库,您可以使用以下技术检查组件内是否在浏览器或服务器中:

constructor(@Inject(PLATFORM_ID) private platformId: Object) { ... }

...
if (isPlatformBrowser(this.platformId)) {...}

然而,如果我可以通过某种全局变量检查当前是否在浏览器或服务器中,选择加载哪个模块将变得微不足道。

1个回答

0
我认为如果你有单独的app.module,你就可以做到这一点。 通常会有一个browser-app.module和一个server-app.module 然后只需在imports中包含你的模块即可。
@NgModule({ imports: [ HttpModule,

有一个应用程序模块可以做任何事情,还有一个服务器应用程序模块,但没有浏览器模块。 - Jonathan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接