Angular универсальная команда 'npm run prerender' никогда не останавливается - PullRequest
3 голосов
/ 19 июня 2020

Я использую Angular universal с Angular 9 и Angular Fire 6.

Мне удалось выполнить предварительную визуализацию моего приложения с npm run prerender без каких-либо ошибок.
Мои маршруты получают предварительно обработаны, и файлы index.html выглядят нормально.

За исключением самой команды, она никогда не завершается.
Последние строки, которые я получаю:

...
Prerendering 4 route(s) to {{projekt URL}}\browser
CREATE {{projekt URL}}\browser\index.html (66857 bytes)
CREATE {{projekt URL}}\browser\home\index.html (66857 bytes)
CREATE {{projekt URL}}\browser\edit\index.html (66857 bytes)
CREATE {{projekt URL}}\browser\login\index.html (66857 bytes)

1 Ответ

1 голос
/ 31 июля 2020

У меня была такая же проблема, и я обнаружил, что каким-то образом разветвленный процесс (-ы) не завершился правильно. Я не знал, как помочь, но использовал небольшое обходное решение, которое я выполню как NPM скрипт перед фактическим предварительным рендерингом:

"prerender:fix-exit": "sed -i -e \"s/}))().then().catch();/}))().then(()=>process.exit(0)).catch(()=>process.exit(1));/g\" ./node_modules/@nguniversal/builders/src/prerender/render.js",

Он будет в основном вызывать process.exit(0) в случае успеха, или process.exit(1) в случае ошибки. Теоретически это также должно работать с конфигурацией компоновщика numProcesses> 1.

...