如何从AWS S3提供Gziped webpack捆绑包

时间:2015-09-15 11:23:18

标签: amazon-web-services web-applications amazon-s3 gzip webpack

我需要从AWS S3提供webpack包(和衍生资产),如果浏览器支持,我想要将这些文件提供给Gziped。 S3并不是即时Gzip内容,因此您必须上传资产的未压缩和压缩版本,并实施逻辑以从客户端选择相应的版本。

现在,当我从服务器提供html页面时,我可以选择加载main.bundle.js文件或其压缩版本main.bundle.js.gz,具体取决于请求中的Accept-encoding标头。

问题是webpack对我的资产的Gziped版本一无所知,因此它会继续使用未压缩的文件加载剩余的bundle块。

有没有办法告诉webpack加载捆绑块和其后附加后缀的文件(在本例中为.gz)?

我能想到的唯一解决方案是生成两个单独的包,一个用于未压缩文件,另一个用于gziped文件,使用不同的publicPath区分它们。但我认为这可能是一种矫枉过正,因为这两个捆绑包实际上是相同的。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您在S3存储桶上启用CloudFront,他们最近(12/17)只是将选项添加到gzip。请参阅:https://aws.amazon.com/blogs/aws/new-gzip-compression-support-for-amazon-cloudfront/