13

现在 Airbnb 有一个工具Hypernova用于 javascript 视图的服务器端渲染。我想知道它是否可以用于增强基于 Ajax 的网站的 SEO,例如使用Prerender的工具。如果不是那为什么?

4

1 回答 1

4

弄清楚工具如何工作的一种快速方法是检查它的依赖关系。它不包含phantom无头浏览器或其他适配器,因此它只评估 Node.js 中的客户端脚本。

hypernova 在 Node.js 中运行客户端脚本并将它们呈现为 HTML。为了使这成为可能,脚本应该是通用的,并且不依赖于特定于浏览器的功能。这可以避免在无头浏览器中渲染所导致的开销(就像 Prerender 一样)。

hypernova 文档专注于使用 React 组件,因为它们自然是通用的,并且大多数时候在 Node.js 中渲染时不需要真正的 DOM,它们是使用hypernova-reactpackage 渲染的,这是对 React 自己的 SSR 功能的薄包装。

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

于 2017-09-25T12:31:30.557 回答