现在,Airbnb有了Hypernova工具,用于在服务器端呈现javascript View 。我想知道它是否可以像Prerender这样用于增强基于Ajax的网站的SEO。如果没有,那为什么呢?

最佳答案

确定工具工作方式的快速方法是to check its dependencies。它不包含phantom或其他用于 headless 浏览器的适配器,因此仅评估Node.js中的客户端脚本。

hypernova在Node.js中运行客户端脚本并将其呈现为HTML。为了使之成为可能,脚本应该是通用的,并且不依赖于特定于浏览器的功能。这样可以避免在 headless 浏览器中进行渲染所引起的开销(如Prerender所做的那样)。

超新星文档专注于使用React组件,因为它们自然是通用的,并且大多数时候在Node.js中渲染时不需要真正的DOM。它们使用hypernova-react包进行渲染,该包是React自身SSR功能的精简包装。

AngularJS被开发为在浏览器中运行,并且依赖于真实的DOM。保证只能在客户端正常工作。至少在理论上可以使用DOM仿真(jsdom)或jQuery仿真(cheerio)在Node.js中渲染AngularJS应用程序,但是hypernova没有为此提供合适的适配器。

08-28 20:19