我在我的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。
对我来说,它的工作原理是 Angular9 ("@angularcore": "9.1.11")。
我只是做了。
ng add @nguniversal/express-engine
npm run dev:ssr
这里有一个完整的例子 --https:/github.comstevermeisterangular9-lazy-loading。