dou*_*ree 1 assets ruby-on-rails sass ruby-on-rails-3 asset-pipeline
我刚刚进入资产管道; 我正在使用SASS/SCSS,但我不明白为什么我应该使用资产助手.
例如,如果我有一些CSS/SCSS而不使用资产助手:
background-image: url('rails.png');
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,因为我的.SCSS文件和图像都在资源目录中并可以访问.
这样做有什么意义?:
background-image: asset-url("rails.png", image);
Run Code Online (Sandbox Code Playgroud)
我知道它会在网址中添加"/ assets /",但如果标准的CSS方式有效,我为什么要使用资产助手呢?
我想我错过了什么.它与部署到生产有关吗?
使用帮助程序可以访问生产中的指纹URL.从资产管道指南:
在生产环境中,Rails使用上面概述的指纹识别方案.默认情况下,假设资产已经过预编译,并且将由Web服务器作为静态资产提供.
在预编译阶段,MD5从编译文件的内容生成,并在写入光盘时插入文件名.Rails助手使用这些指纹名称代替清单名称.
所以在生产中,路径附加了MD5,你有这样的事情:
/assets/pancakes-af27b6a414e6da00003503148be9b409.png
Run Code Online (Sandbox Code Playgroud)
有了校验和,Rails可以告诉浏览器永远缓存这些文件.然后,如果您执行更新其中一个资产的新版本,则校验和会更改并更改整个路径; 新路径使浏览器认为它是一个全新的文件,因此它将再次获取它.如果没有校验和,您可以很容易地将旧文件卡在浏览器缓存中,而这种事情并不是一个快乐的时间.
| 归档时间: |
|
| 查看次数: |
977 次 |
| 最近记录: |