Я выполнил шаги рендеринга на стороне сервера с Universal, опубликованные в документации angularfire2:
https://github.com/angular/angularfire2/blob/master/docs/server-side-rendering.md
Мне удалось собрать все приложение без ошибок, но когда я запускал приложение, я получил следующую ошибку:
ERROR { Error: Uncaught (in promise): Error: Cannot find module "./views/sessions/sessions.module.ngfactory". Error: Cannot find module "./views/sessions/sessions.module.ngfactory". at eval (webpack:///./src_lazy_namespace_object?:5:11) at ZoneDelegate.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:387:26) at Object.onInvoke (webpack:///./node_modules/@angular/core/fesm5/core.js?:4122:33) at ZoneDelegate.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:386:32) at Zone.run (webpack:///./node_modules/zone.js/dist/zone-node.js?:137:43) at eval (webpack:///./node_modules/zone.js/dist/zone-node.js?:871:34) at ZoneDelegate.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:420:31) at Object.onInvokeTask (webpack:///./node_modules/@angular/core/fesm5/core.js?:4113:33) at ZoneDelegate.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:419:36) at Zone.runTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:187:47) at resolvePromise (webpack:///./node_modules/zone.js/dist/zone-node.js?:813:31) at resolvePromise (webpack:///./node_modules/zone.js/dist/zone-node.js?:770:17) at eval (webpack:///./node_modules/zone.js/dist/zone-node.js?:872:17) at ZoneDelegate.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:420:31) at Object.onInvokeTask (webpack:///./node_modules/@angular/core/fesm5/core.js?:4113:33) at ZoneDelegate.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:419:36) at Zone.runTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:187:47) at drainMicroTaskQueue (webpack:///./node_modules/zone.js/dist/zone-node.js?:594:35) at ZoneTask.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:499:21) at Server.ZoneTask.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:484:48) rejection: { Error: Cannot find module "./views/sessions/sessions.module.ngfactory". at eval (webpack:///./src_lazy_namespace_object?:5:11) at ZoneDelegate.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:387:26) at Object.onInvoke (webpack:///./node_modules/@angular/core/fesm5/core.js?:4122:33) at ZoneDelegate.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:386:32) at Zone.run (webpack:///./node_modules/zone.js/dist/zone-node.js?:137:43) at eval (webpack:///./node_modules/zone.js/dist/zone-node.js?:871:34) at ZoneDelegate.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:420:31) at Object.onInvokeTask (webpack:///./node_modules/@angular/core/fesm5/core.js?:4113:33) at ZoneDelegate.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:419:36) at Zone.runTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:187:47) code: 'MODULE_NOT_FOUND' }, promise: ZoneAwarePromise { __zone_symbol__state: 0, __zone_symbol__value: { Error: Cannot find module "./views/sessions/sessions.module.ngfactory". at eval (webpack:///./src_lazy_namespace_object?:5:11) at ZoneDelegate.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:387:26) at Object.onInvoke (webpack:///./node_modules/@angular/core/fesm5/core.js?:4122:33) at ZoneDelegate.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:386:32) at Zone.run (webpack:///./node_modules/zone.js/dist/zone-node.js?:137:43) at eval (webpack:///./node_modules/zone.js/dist/zone-node.js?:871:34) at ZoneDelegate.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:420:31) at Object.onInvokeTask (webpack:///./node_modules/@angular/core/fesm5/core.js?:4113:33) at ZoneDelegate.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:419:36) at Zone.runTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:187:47) code: 'MODULE_NOT_FOUND' } }, zone: Zone { _properties: { isAngularZone: true }, _parent: Zone { _properties: {}, _parent: null, _name: '', _zoneDelegate: [Object] }, _name: 'angular', _zoneDelegate: ZoneDelegate { _taskCounts: [Object], zone: [Circular], _parentDelegate: [Object], _forkZS: null, _forkDlgt: null, _forkCurrZone: [Object], _interceptZS: null, _interceptDlgt: null, _interceptCurrZone: [Object], _invokeZS: [Object], _invokeDlgt: [Object], _invokeCurrZone: [Circular], _handleErrorZS: [Object], _handleErrorDlgt: [Object], _handleErrorCurrZone: [Circular], _scheduleTaskZS: [Object], _scheduleTaskDlgt: [Object], _scheduleTaskCurrZone: [Circular], _invokeTaskZS: [Object], _invokeTaskDlgt: [Object], _invokeTaskCurrZone: [Circular], _cancelTaskZS: [Object], _cancelTaskDlgt: [Object], _cancelTaskCurrZone: [Circular], _hasTaskZS: [Object], _hasTaskDlgt: [Object], _hasTaskDlgtOwner: [Circular], _hasTaskCurrZone: [Circular] } }, task: ZoneTask { _zone: Zone { _properties: [Object], _parent: [Object], _name: 'angular', _zoneDelegate: [Object] }, runCount: 0, _zoneDelegates: null, _state: 'notScheduled', type: 'microTask', source: 'Promise.then', data: ZoneAwarePromise { __zone_symbol__state: 0, __zone_symbol__value: [Object] }, scheduleFn: undefined, cancelFn: null, callback: [Function], invoke: [Function] } }
Я проверял, и ошибка в файле webpack.server.config.js
С подключаемым модулем WebPack new Webpack.ContextReplacementPlugin
Это вызывает конфликт с очень ленивой нагрузкой.
Действия по настройке и воспроизведению
Я создал хранилище для вас, чтобы вы могли воспроизвести эту ошибку, которую я комментировал вам ранее:
https://github.com/IngAjVillalon/Angular-Universal-6-Server-Side-Render
Вы можете выполнить:
npm install
позже
npm run build: ssr && npm run serve: ssr.
и приложение будет работать нормально, но при использовании приложения появляется ошибка.
Не могли бы вы мне помочь, расскажите нам, какие еще есть альтернативы для запуска ленивой нагрузки при рендеринге на стороне сервера с Universal?