预加载模块不能与Angular Universal一起工作

问题描述 投票:0回答:1

我在我的Firebase应用程序中设置了Angular Universal,并使用以下指南。https:/github.comangularangularfireblobmasterdocsdeploygetting-started.md。

而我开始在我的Angular Universal应用中使用懒惰加载,按照这个指南。https:/angular.ioguidelazy-loading-ngmodules

我得到了懒惰加载工作,但当我到了指南的最后,并试图预加载我的模块,我开始得到一个404。我在构建或部署时没有得到任何错误,但在尝试加载我的应用程序时得到了404。

以下是预加载模块的相关代码。

import { Routes, RouterModule, PreloadAllModules } from '@angular/router';

...

@NgModule({
  imports: [
    RouterModule.forRoot(routes, {
      initialNavigation: 'enabled',
      preloadingStrategy: PreloadAllModules,
    }),
  ],
  exports: [RouterModule],
})
export class AppRoutingModule {}

如果我删除 preloadingStrategy: PreloadAllModules,,然后404问题就消失了。在构建deploying的时候没有任何错误信息,我想不出问题出在哪里。是Universal不支持预加载吗?还是我做错了什么?

我使用的是Angular 9.1.9、Angular Fire 6和Firebase 7.13.1。

angular angularfire2 angular-universal
1个回答
0
投票

对我来说,它的工作原理是 Angular9 ("@angularcore": "9.1.11")。

我只是做了。

ng add @nguniversal/express-engine
npm run dev:ssr

这里有一个完整的例子 --https:/github.comstevermeisterangular9-lazy-loading。

© www.soinside.com 2019 - 2024. All rights reserved.