将ReactJS(带有webpack)部署到S3& CloudFront的

时间:2017-03-09 09:10:53

标签: reactjs amazon-s3 webpack amazon-cloudfront

我有一个ReactJS应用程序,当我执行dist时会生成npm build文件夹。这可以上传到亚马逊的S3,一切都很好。

我希望不断部署此应用程序,因此我的想法是部署到s3://RANDOM_STRING/,产生:

RANDOM_STRING/js RANDOM_STRING/css RANDOM_STRING/index.html

我不能告诉S3,据我所知,使用子目录作为web-root,所以我查看了CloudFront并将原点更新到目录。这需要花费大量时间进行更新,实际上无法通过aws-cli完成,因此连续部署将会被破坏。

我已经看过使用file-loader来重写我的url()调用以将RANDOM_STRING包含到部署资产中,但这感觉很漂亮"丑陋"

有没有人有这种部署的经验并可以帮助我?

1 个答案:

答案 0 :(得分:0)

您是否尝试过设置默认根对象?您可以将其配置为子目录。

见这里:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html