【问题标题】:server side rendering using webpack使用 webpack 进行服务器端渲染
【发布时间】:2015-08-14 10:26:30
【问题描述】:

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

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

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

【问题讨论】:

  • 您如何为您的应用提供服务?

标签: javascript reactjs webpack webpack-dev-server page.js


【解决方案1】:

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

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

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

【讨论】: