Angular 6 SSR TypeError: Невозможно прочитать свойство 'root' из неопределенного - PullRequest
0 голосов
/ 03 октября 2018

У меня есть проект angular 6.03, использующий Angular Universal, который развернут в firebase.Еще несколько дней назад все работало отлично, но в прошлый раз, когда я развернул, я начал понимать, что не могу прочитать свойство 'root' неопределенной ошибки.

error: TypeError: Cannot read property 'root' of undefined
at new rootRoute (/Users/rebekahapelt/Projects/hapkido-website/functions/node_modules/@angular/router/bundles/router.umd.js:5390:35)
at _createClass (/Users/rebekahapelt/Projects/hapkido-website/functions/node_modules/@angular/core/bundles/core.umd.js:8445:24)
at _createProviderInstance (/Users/rebekahapelt/Projects/hapkido-website/functions/node_modules/@angular/core/bundles/core.umd.js:8417:30)
at initNgModule (/Users/rebekahapelt/Projects/hapkido-website/functions/node_modules/@angular/core/bundles/core.umd.js:8350:36)
at new NgModuleRef_ (/Users/rebekahapelt/Projects/hapkido-website/functions/node_modules/@angular/core/bundles/core.umd.js:9076:13)
at Object.createNgModuleRef (/Users/rebekahapelt/Projects/hapkido-website/functions/node_modules/@angular/core/bundles/core.umd.js:9065:16)
at NgModuleFactory_.create (/Users/rebekahapelt/Projects/hapkido-website/functions/node_modules/@angular/core/bundles/core.umd.js:11607:29)
at /Users/rebekahapelt/Projects/hapkido-website/functions/node_modules/@angular/core/bundles/core.umd.js:4375:47
at ZoneDelegate.invoke (/Users/rebekahapelt/Projects/hapkido-website/functions/node_modules/zone.js/dist/zone-node.js:388:26)
at Object.onInvoke (/Users/rebekahapelt/Projects/hapkido-website/functions/node_modules/@angular/core/bundles/core.umd.js:3890:37)

Так что я немного запутался, и все другие вопросы, связанные с этим, кажутсяо модульном тестировании.

Мой файл server.ts выглядит как

import 'zone.js/dist/zone-node';
import * as firebaseFunctions from 'firebase-functions';
import { enableProdMode } from '@angular/core';
import * as express from 'express';

const { AppServerModuleNgFactory, LAZY_MODULE_MAP} = require('./main');
import { ngExpressEngine } from '@nguniversal/express-engine';
import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader';

enableProdMode();

const app = express();

app.engine('html', ngExpressEngine({
  bootstrap:  AppServerModuleNgFactory,
  providers: [
    provideModuleMap(LAZY_MODULE_MAP)
  ]
}));

app.set('view engine', 'html');
app.set('views', __dirname);


app.get('*', (req, res) => {
  res.render('index', {req});
});


exports.ssrApp = firebaseFunctions.https.onRequest(app);

Мой репозиторий Github https://github.com/rapelt/hapkido-website

Я использую Angular Material, который вызвал некоторыеинтересные и раздражающие проблемы с анимацией, но у меня уже давно все исправлено.

Кто-нибудь получил какие-нибудь предложения?

1 Ответ

0 голосов
/ 04 октября 2018

После долгих раздумий, проб и ошибок ответ был: Angular animation version 6.0.4 не работает с приложением на стороне сервера.Снижение до 6.0.3 решило проблему локально, но не как развернутое приложение.Обновление всех угловых пакетов, @ nguniversal / express-engine и typcript исправили проект.

...