预呈现 Angular 6(用于 SEO)不会将 routerLink 转换为 Href

Prerendering Angular 6 (for SEO) does not translate routerLink to Href

我正在使用 prerender.io 使用无头 chrome 渲染 angular 6 个页面。问题是渲染器不渲染路由器 links 并且 link 信息丢失。

鉴于呈现的目的是 SEO,这尤其成问题。

例如,带有 [routerLink]="previewLink" 的按钮将呈现为没有路由器 link 的按钮。

这是一个活生生的例子

呈现的页面没有 links

https://prerender.io/raw-html?url=https%3A%2F%2Fwww.fiveabook.com%2Fbooks&adaptiveType=desktop

"Preview" 按钮中没有 href 和路由器 link:

<button _ngcontent-c12="" color="accent" mat-button="" tabindex="0" class="mat-button mat-accent ng-star-inserted"><span class="mat-button-wrapper">

angular 带路由器的页面 links

https://www.fiveabook.com/books

按钮有动态生成的路由器links。

如果我在 Mac 上的 Chrome 浏览器中直接加载 https://www.fiveabook.com/books 并查找该按钮,我也没有看到 href:

看起来我们正在呈现页面,就像正常 Chrome 浏览器正在呈现它一样。

Html 按钮没有 href 属性。如果您想生成超链接按钮,只需使用 锚元素

<a mat-button [routerLink]="...">
Link
</a>