我正在使用 Reactjs、webpack 以及 page.js(路由)来构建一个 webapp。Webpack 给了我一个在客户端加载的 bundle.js。
我发现如果我在客户端上加载 og Meta 标签,则无法抓取它们,所以我必须在服务器端实现它(服务器端渲染)。有什么方法可以实现吗?
(我没有在网上找到有关此的适当文档)。
我正在使用 Reactjs、webpack 以及 page.js(路由)来构建一个 webapp。Webpack 给了我一个在客户端加载的 bundle.js。
我发现如果我在客户端上加载 og Meta 标签,则无法抓取它们,所以我必须在服务器端实现它(服务器端渲染)。有什么方法可以实现吗?
(我没有在网上找到有关此的适当文档)。
很多人在服务器上用另一种模板语言渲染 html 的“shell”(因为只有服务器需要渲染它)。你不应该使用 React 来使用普通的 API 来渲染身体之外的东西(这是已知的问题)。但是您可以使用renderToStaticMarkup
,我认为这是一种更好的方法,因为您不会在服务器上引入另一种模板语言来渲染 shell。
当然,这意味着您无法更新元描述之类的内容或document.title
以正常的 React 方式,您只能使用普通的旧 JavaScript 来完成。或者我推荐react-helmet(它可以在服务器渲染时修改元和标题)。
我在这里做了一个例子,可能会有所帮助 - https://github.com/DominicTobias/universal-react/