Rails Assets Pipeline

Posted 蜡笔小斌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails Assets Pipeline相关的知识,希望对你有一定的参考价值。

AssetsPipeline是Rails提供的前端解决方案,功能包括

  • 编译压缩js,css,变量名修改,去除空格,翻译sass等
  • 连接静态资源,减少渲染页面时浏览器发起的请求数。把所有js合并成一个文件,所有css合并成一个文件
  • 缓存控制,每次修改静态资源,都会重新生成指纹码

一直觉得博客的访问速度波动很大,今天看到静态文件的拖慢了很多需要5~8秒才能加载完,于是好好优化了一遍。

优化过程

1.AssetsPipeline预编译命令

上次部署错误地使用了rake assets:precompile,造成静态文件没有经过编译压缩,都是可阅读的源码,js有1.2M。

正确的命令是
rake assets:precompile RAILS_ENV=production

2.nginx压缩模块开启

gzip_static on

目前如丝般顺滑

以上是关于Rails Assets Pipeline的主要内容,如果未能解决你的问题,请参考以下文章

18--Assets Pipeline初探

如何使用 Asset Pipeline 从非标准目录传递字体

Rails 脚手架 scss 每次生成脚手架时都会重置

Azure Pipeline:dotnet 发布失败 - assets.json 没有“.NETCoreApp,Version=v3.1/win-x64”的目标

markdown Rails Asset Pipeline:`require`指令

在asset_pipeline中包含来自rails应用程序之外的资产