Ich versuche, eine Webseite in angularjs mit Puppenspieler prerender. Der Stapel meiner Anwendung ist MEAN (Mongo-Express-Angular-NodeJs).Puppenspieler und angularjs html render Ausgabe
Rendering-Logik ist wie folgt:
var args = [
'--disable-gpu',
'--disable-setuid-sandbox',
'--no-sandbox',
];
var getPageContent = async function getPageContent(request)
{
var url = getUrl(request);
var browser = await puppeteer.launch({headless: true, handleSIGINT: false, args: args});
var page = await browser.newPage();
await page.goto(url, {waitUntil: 'networkidle2'});
var html = await page.content();
await browser.close();
return html;
};
Alles funktioniert gut, und ich tun, um die HTML-Code der Seite bekommen. Allerdings bekomme ich den HTML-Code in der eckigen Form. Wie unten:
<title> {{meta.title}} </title>
<meta property="og:title" content="{{meta.title}}">
<meta property="og:description" content="{{meta.description}}">
<meta property="og:image" content="{{meta.imageSrc}}">
Was ich will, ist tatsächlicher Inhalt der Seite und nicht die {{}}. Etwas wie:
<title> My Page </title>
<meta property="og:title" content="My Page">
<meta property="og:description" content="Page about saving humanity">
<meta property="og:image" content="url_to_image">
Ich frage mich, ob dies ein Problem mit page.content()? Oder gibt es eine andere Puppenspieler-API, die das eigentliche Roh-HTML der Seite zurückgibt?