gpt4 book ai didi

ruby-on-rails - 将 Rails 管道获取到 gzip xml Assets

转载 作者:行者123 更新时间:2023-12-04 05:52:43 24 4
gpt4 key购买 nike

我正在为我的 Rails 站点使用 Rails Assets 管道。 assets:precompile 任务正确处理并自动创建我的 css 和 js 文件的 gzip 版本。

我现在添加了一些 xml Assets 。 Assets 管道让我可以引用这些文件,就像我引用二进制文件(如图像)一样。但是,预编译任务不会创建 xml 文件的 gzip 版本,即使我明确地将它们放在“config.assets.precompile”中也是如此。我的 xml 文件是大型 Assets ,使用 gzip 时速度会提高大约 3 倍,因此这对我的站点来说是一个重要的优化。有没有什么方法可以将管道配置为带有附加扩展名(如“.xml”)的 gzip 文件?

注意事项:

  • 我正在使用 asset_sync gem 将我所有的静态 Assets 移动到CloudFront CDN,所以我不能依赖我的网络服务器 (NGINX)自动为我 gzip 文件。 asset_sync将上传一个如果 Assets 管道创建了一个文件的 gzip 版本,但它不会为您创建压缩版本。理论上我可以 fork asset_sync 并在上传之前将其破解为 gzip xml 文件或在预编译和同步任务之间插入一个额外的任务,但是我宁愿避免维护 gem 的分支。

  • 我还想过使用 .js 来欺骗 Assets 管道扩展名而不是 .xml,但我更喜欢一个不太老套的解决方案。

  • 如果没有简单的方法来在附加文件上配置 gzip类型,有没有办法在文件上添加自定义“后处理”过滤器我可以在哪里手动添加 gzip?我看过有关如何添加的指南自定义预处理器但不是最终散列的后处理器 Assets 文件。

最佳答案

此选项已添加到 Rails 4。XML 会自动压缩,并且 Rails 公开了一个配置选项 zip_files,用于指定要压缩的文件类型。

https://github.com/rails/rails/commit/7cfd1bd76a41bea528c945d821a9fbc3902af479

关于ruby-on-rails - 将 Rails 管道获取到 gzip xml Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14228148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com