Rails开发中的资产管道与投票功能实现
在Rails开发中,我们经常会遇到各种与外部静态资产相关的问题,而资产管道(Asset Pipeline)就是为解决这些问题而生的强大工具。
资产管道的起源与作用
当我们看到生成的HTML中包含多个脚本和样式表标签时,可能会感到困惑。其实,这就是Rails的资产管道在起作用。资产管道源自一个名为“sprockets”的Ruby gem,因此“资产管道”和“sprockets”这两个术语常被互换使用。
资产管道的出现是为了解决网站在处理JavaScript、CSS和图像等外部静态资产时可能遇到的问题:
1. 多源文件问题 :大多数网站会使用多个JavaScript或CSS文件,每个文件都需要浏览器向服务器发起请求。
2. 预处理器的使用 :有很多语言可以让CSS和JavaScript更易于开发,但需要使用预处理器,使用起来比较繁琐。
3. 不必要的内容 :大多数JavaScript和CSS文件包含对生产环境不必要的注释或空白。
4. 缓存问题 :浏览器会缓存静态资产以节省带宽和提高性能,因此需要一种简单的方式来指示静态资产是否发生了变化,否则更改将无法传递到浏览器。
多源文件的处理
以之前生成的HTML为例,其中包含六个JavaScript文件:两个来自jQuery,一个用于Turbolinks,三个来自我们的应用程序。这些文件是如何被包含进来的呢?资产管道使用一种名为清单(manifest)的文件,让开发者
超级会员免费看
订阅专栏 解锁全文
17

被折叠的 条评论
为什么被折叠?



