Learning Asset Pipeline
Asset Pipeline 的复习
概念
是什么
- Asset pipeline 是一款压缩css 和js 的预处理工具。中间件叫Sprockets
目的
- 降低连接次数
- 有效建立缓存
构成
- uglifier
- sass-rails
- coffee-rails
使用
静态资源放置 放在app/assets 文件夹中
引入资源
有两种方案
- 一次性引入所有文件 (使用require_tree)
- 只引用对应控制器的assets(不使用require_tree)
1 2 |
|
加载时搜索的路径
在使用静态资源的时候Sprockets 会再默认的三个位置中查找对应的文件 - apps/assets/(images|javascripts|stylesheets) - 也会寻找其他文件夹?
资源引用
1 2 |
|
使用Rails.application.config.assets.paths
就可以看到所有的搜索路径
如果需要自定义路径,则需要在application.rb 增加配置
1
|
|
app/assets 优先级别高一点
注意,如果清单文件没有包含某个需要引用的文件,则我们需要手动的将其加入在包含里 参见上面的代码
在Production 中的预处理
$ RAILS_ENV=production bin/rake assets:precompile
添加其他的mainfest 文件
1
|
|
这个地方注意一下,这里的后缀不是文件的后缀 而是得到的文件的后缀( scss coffee)
将静态文件设置过期时间
因为已经生成了指纹,所以缓存时间可以设置成无限长
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 8 9 10 |
|