如何通过服务器端渲染在生产中部署React应用程序



我已经使用create-react-app创建了我的应用程序。SSR可以正常工作。一切都已经到位,但我不知道如何部署它?我理想的是:生成一个构建文件夹,并将在CDN中上传。想从那里提供我的静态资产。我想从我的代码中创建一个分发,然后将其带到另一台计算机以部署。我无法弄清楚如何突出显示部分。如何为服务器创建捆绑包?npm run构建为客户端创建我的捆绑包。

ps:我正在使用React路由器4,Redux ..在我的应用程序中。希望这不会影响我的回答。对于SSR,我使用了Express。

服务器端渲染意味着您需要服务器(即express(,该服务器将服务于所有请求:服务器渲染的页面,包括静态资产。因此,CDN还不够。您可能需要尝试按照支持节点服务器的免费云服务:

  • https://zeit.co/now
  • https://www.heroku.com/
  • https://firebase.google.com/docs/functions/

您可以使用webpack,使用target: "node"创建服务器捆绑包,并使用https://www.npmjs.com/package/webpack-node-extenals。

细节可能很复杂,因此您只需访问https://github.com/antonybudianto/reaect-ssr-starter/blob/master/master/config/webpack.server.config.babel.babel.babel.js即可获取参考。<<<<<<<<<<<<<<

我尝试了Whit Firebase,但是我不能在函数文档中说执行该函数不能超过60 s,而且我的功能需要更多。当我部署其他基本功能时,它会毫无问题地部署。如果您实现它的部署,请给您一个状态403,因为您必须将功能放在公共模式下。

如果您想部署应用程序whit ssr使其变为hit Express,就像我的情况下一样,您可以像API一样部署它。您也可以使用AWS或Google Cloud部署Whit Doker。

Heroku是最简单的方法,但我不想在这里拥有所有的应用。

最新更新