4

我正在使用 Reactjs、webpack 以及 page.js(路由)来构建一个 webapp。Webpack 给了我一个在客户端加载的 bundle.js。

我发现如果我在客户端上加载 og Meta 标签,则无法抓取它们,所以我必须在服务器端实现它(服务器端渲染)。有什么方法可以实现吗?

(我没有在网上找到有关此的适当文档)。

4

1 回答 1

1

很多人在服务器上用另一种模板语言渲染 html 的“shell”(因为只有服务器需要渲染它)。你不应该使用 React 来使用普通的 API 来渲染身体之外的东西(这是已知的问题)。但是您可以使用renderToStaticMarkup,我认为这是一种更好的方法,因为您不会在服务器上引入另一种模板语言来渲染 shell。

当然,这意味着您无法更新元描述之类的内容或document.title以正常的 React 方式,您只能使用普通的旧 JavaScript 来完成。或者我推荐react-helmet(它可以在服务器渲染时修改元和标题)。

我在这里做了一个例子,可能会有所帮助 - https://github.com/DominicTobias/universal-react/

于 2015-08-14T12:53:36.630 回答