通用反应渲染与CDN和heroku

尝试设置服务器端(通用,同构)呈现的反应应用程序,该应用程序通过CircleCI使用Heroku为node / express应用程序部署,Cloudfront作为CDN部署。

我有一些麻烦概念化这将如何工作。 stream量似乎非常简单,除了几个部分。 一旦我们将构build的资产部署到像CloudFront这样的CDN,我们如何将它们连接到位于Heroku上的index.html文件? (这个索引文件是由Heroku节点应用程序构build的,并作为服务器端渲染的基础)。 但我希望它包含CDN资产的链接,而不是Herokubuild立的资产。 (CircleCi运行webpack,一旦部署,Heroku也是如此)

有没有人遇到过这个?

你可以使用像https://github.com/kossnocorp/assets-webpack-plugin这样的东西来创build一个.json文件,该文件包含你的内build和散列webpack文件的目录/名称。 然后,您可以使用这个.json文件来确定您的标签在您的服务器端生成的html中的样子。

  1. 使用webpack构build客户端软件包,并生成带有散列文件名称的.json文件
  2. build立你的服务器端包。 它读取上面的.json文件,并将正确的文件名注入到Url的脚本值中
  3. 部署到heroku /上传到cdn