Roh*_*uar 7 seo reactjs server-side-rendering
我们如何使用react-router 4将客户端渲染react js应用程序转换为服务器端渲染?
假设您将 Create React App 与 React Router 4 一起使用,您需要执行以下步骤:
root/server/index.jsx包含 Express 服务器的服务器,提供 CRA 的默认设置,如下所述: https: //create-react-app.dev/docs/deployment#other-solutionssrc/App.jsx组件server/index.jsx,用于ReactDOMServer.renderToString(<App/>)将您的应用程序渲染为字符串,然后将其注入到 中build/index.html,并根据请求将注入的 HTML res.send 到浏览器。node server/index.jsx不起作用,因为节点不理解 JSX。您需要使用 babel 设置 webpack 来转译您的server/index.jsx,然后使用 node.js 运行转译后的文件。因为您的服务器代码导入src/App.jsx,也可能导入css, svg, png, jpg, etc.文件,所以您在运行服务器时会遇到很多错误。通过配置 webpack 来适应您的用例,一一修复错误。src/index.js以使用 ReactDOM.enchant() 而不是 ReactDOM.render()。src/index.js,但在server/index.js服务器端,改用 StaticRouter 并将 req.originalUrl 传递给该 StaticRouter。这是因为BrowserRouter从浏览器地址栏读取地址,但服务器没有地址栏。如果您想为 CRA 添加 SSR,建议:
| 归档时间: |
|
| 查看次数: |
10231 次 |
| 最近记录: |