为React生成静态页面

时间:2017-09-06 10:24:30

标签: html reactjs babeljs static-files

目标是让我的React应用程序在Amazon S3(CDN)上运行客户端,并生成新闻文件,以便我可以使用元标记进行社交共享(主要是因为Facebook)。

因此,例如,如果某人共享http://website.com/news/343434,那么我将在Amazon S3上拥有文件/news/343434/index.html,这将只为元标记填充头部分,并且在具有要附加的React应用程序的id根的正文。

此方法的问题在于生成的文件不知道对main.js文件的引用,因为添加到缓存清除的文件名的哈希值。即使我这样做,这也意味着我需要在部署React应用程序时重新生成所有新闻文件,因为哈希值会发生变化。

我还有一个想法是在AWS上使用lambda函数,它基本上会返回填充了正确的元标记的模板文件以及对main- {hash} .js文件的引用等。这似乎是最好的解决方案我能想到的。

还有其他解决方案可能效果不错吗?

1 个答案:

答案 0 :(得分:1)

有一些框架可以解决React Apps的服务器端呈现问题。例如,请检查https://github.com/zeit/next.js/