在更新到Angular 15或16后,Angular Universal确实停止向已预渲染的页面添加“”标记。如果您需要在页面上添加这个标记,您可以手动添加它。
以下是一个示例,使用renderModuleFactory函数在服务器上预渲染Angular应用程序。
首先,在AppServerModuleNgFactory或platformBrowser等对象的renderModuleFactory上调用create方法,预先渲染Angular应用程序的HTML字符串。
import {renderModuleFactory} from '@angular/platform-server';
import {AppServerModuleNgFactory} from '../dist-server/main';
renderModuleFactory(AppServerModuleNgFactory, {url: '/'})
.then(html => {
console.log(html);
// Add the prerendered marker as desired
});
然后,您可以手动将预渲染的标记添加到html字符串中。
import {renderModuleFactory} from '@angular/platform-server';
import {AppServerModuleNgFactory} from '../dist-server/main';
renderModuleFactory(AppServerModuleNgFactory, {url: '/'})
.then(html => {
console.log(html);
const prerenderedMarker = '';
const newHtml = html.replace('', `${prerenderedMarker}`);
console.log(newHtml);
});