使用webpack的服务器端渲染



我正在使用Reactjs, webpack以及page.js(路由)来构建web应用程序。Webpack给了我一个bundle.js,它被加载在客户端。

我发现og Meta标签不能被爬行,如果我在客户端加载它们,所以,我必须在服务器端实现它(服务器端渲染)。有什么办法实现它吗?

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

很多人在服务器上用另一种模板语言呈现html的"shell"(因为只有服务器需要呈现它)。你不应该使用React来渲染使用正常api的主体之外的东西(这是已知的问题)。但是你可以使用renderToStaticMarkup,我认为这是一种更好的方式,因为你不需要在服务器上引入另一种模板语言来渲染shell。

当然,这意味着你不能用普通的React方式更新元描述或document.title之类的东西,你必须用普通的JavaScript来做。或者,我推荐react-helmet(它可以在服务器渲染时修改meta和标题)。

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

最新更新