web - 如何为 Web 和 Amazon CloudFront 手动 gzip 文件
问题描述
我有一个 3MB 的 .wasm 文件,我正在尝试使用 gzip 对其进行压缩并在 Amazon CloudFront 上使用。目前 CloudFront 不支持自动压缩 .wasm 文件类型。
我使用过gzip filename.wasm
,但从 CloudFront 获取时输出的结果在我的代码中不起作用。我在其他地方读到该文件缺少一些文件头。
所以我的问题是,如何手动压缩 .wasm 文件以在 Web 上使用并从 CloudFront 获取?
谢谢!
解决方案
您可以使用 gzip 压缩文件,然后使用 将其上传到 s3 --content-type application/wasm --content-encoding gzip
,不带.gz
后缀。当此文件随后通过云端提供时,它将被 gzip 压缩并由浏览器读取。
这是一个使用 brotli 的示例:
WASM_FILE=$(ls dist/ | grep '.wasm$');
brotli-cli dist/*.wasm
BROTLI_FILE=$(ls dist/ | grep wasm.br);
mv dist/$BROTLI_FILE dist/$WASM_FILE
aws s3 cp dist/*.wasm s3://$S3_BUCKET/ \
--content-encoding br \
--content-type application/wasm
推荐阅读
- macos - 无法安装 VisualSFM macOS High Sierra,因为它需要不再支持的 cairo-x11
- c# - C# 使用取消令牌异步发送多封电子邮件
- javascript - 反应道具:无法访问数组中对象中的键,索引都通过道具传递
- c - 在 C 中无法返回数组实际上意味着什么?
- javascript - 错误:Route.get() 需要回调函数,但得到了 [object Undefined] NODE.JS + SQL
- javascript - 无法在“窗口”无效模式下执行“获取”
- android - 在没有用户交互屏幕的情况下授予权限
- php - 在 wordpress 中获取当前帖子的特定类别
- python - 管理多个混合 - 使用元类更好?
- javascript - 如何获取提供代码的动态数据