【问题标题】:Rails 3.0 to Rails 3.2.2 Asset handling with JammitRails 3.0 到 Rails 3.2.2 使用 Jammit 处理资产
【发布时间】:2012-03-13 16:27:51
【问题描述】:

我们使用 Rails 3.0 已经有一段时间了。我们将使用 jammit 编译资产,然后将其存储在 /public/assets 中仅用于部署

问题是,我们最近升级到 Rails 3.2.2,现在 Jammit 正在编译源目录中的资产,这很麻烦。

其他人都经历过这种情况。从 Rails 3.0 w jammit 迁移到 Rails 3.2.2 的正确方法是什么?

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3


    【解决方案1】:

    Rails 3.1 及更高版本使用称为资产管道的内置流程替换了 Jammit 的大部分功能。这很酷,也是一个非常重要的变化。

    app/config/application.rb 中有一行(适用于新的 Rails 应用程序)

    # Enable the asset pipeline
    config.assets.enabled = true
    

    将此设置为 false 应该会让您恢复到古代历史。但是请考虑迁移代码 - 这并不是那么难,越来越多的 gem 期待/依赖它。

    【讨论】:

    • 谢谢,但我不确定我是否已售出。对于 assets.yml 文件会发生什么,我有点迷茫。现在一切都是一个巨大的文件吗?好像很臃肿此外,Jammit 仅通过使用 /images/embed/ 支持图像的自动嵌入,它看起来不像资产管道支持这意味着用户将不得不下载大量图像,从而减慢速度。我错过了什么?
    • 默认情况下,是的,您的 CSS 是单个文件,JS 是另一个单个文件(压缩和压缩),图像只是图像(理想情况下是精灵)。页面加载的典型瓶颈是并发浏览器连接(通常为 5 个),因此文件越少越好,其他一切都相同。假设您正确完成了 Web 服务器缓存设置,则用户只下载一次文件。但同样,您可以让 Asset Pipeline 为特殊情况创建捆绑包,只需编辑特定视图的清单文件。
    猜你喜欢
    • 2011-09-03
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 2012-02-21
    • 2018-02-23
    • 1970-01-01
    相关资源
    最近更新 更多