Существует конвейер, который проверяет, работает ли код для рендеринга на стороне сервера.
Проблема заключается в том, что метод renderModuleFactory
не распознает ошибки приложения, Promise всегда разрешается.
например, если разработчик забывает использовать @Inject(DOCUMENT)
, но использует document
напрямую.
Нет примера кода, потому что он не на стороне приложения. Только я могу добавить, что когда вы выполняете server.js
node dist/server.js
Это выдаст ошибки, но процесс завершится с 0
.
Код для проверки выглядит следующим образом
...
console.log('SSR is started...');
const promises = [];
[
'/',
'/route',
'/another-route'
].forEach(url => promises.push(renderModuleFactory(AppServerModuleNgFactory, { document: template, url, extraProviders: [ provideModuleMap(LAZY_MODULE_MAP) ] })));
Promise.all(promises).then(() => {
console.log('SSR is done.');
}, console.error);