Я создал приложение Angular Universal, которое состоит из вложенных компонентов.Мне нужен Prerender.io для возврата серверного рендеринга HTML из моего приложения, но Prerender.io возвращает только теги компонентов верхнего уровня, а не HTML внутри.
Похоже, это происходит с каждым приложением Angular (SRR или нет).Я ожидаю, что это произойдет на странице без SSR, но не на SSR.
Я следовал рекомендациям prerender.io :
git clone https://github.com/prerender/prerender.git
cd prerender
npm install
node server.js
И затем попыталсяперейти к:
http://localhost:3000/http://localhost:4000/test
Возвращенный html, который я получаю:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Documents SSR</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="stylesheet" href="styles.3ff695c00d717f2d2a11.css">
<style></style>
</head>
<body>
<app-root _nghost-sc0="" ng-version="8.2.3" _nghost-serverapp-c0="">
<router-outlet _ngcontent-serverapp-c0=""></router-outlet>
<component1>
<!---->
<component2></component2>
</component1>
</app-root>
</body>
</html>
Я бы ожидал, что Prerender.io отобразит все в component2
, но, как вы видите, я ничего не получаю.
Я где-то пропустил конфигурацию или Prerender.io не поддерживает Angular?
Если перейти непосредственно к http://localhost:4000/test
, я получу полный рендеринг HTML.
РЕДАКТИРОВАТЬ
Может показаться, что Prerender.io не ждет, когда мой последний вызов ajax будет выполнен перед рендерингом?