【问题标题】:Is it possible to force generation of assets with Rails Asset Pipeline?是否可以使用 Rails Asset Pipeline 强制生成资产?
【发布时间】:2011-10-02 06:15:29
【问题描述】:

在使用 Rails 3.1 资产管道时,有没有办法强制每次请求重新生成资产?

在使用带有一系列部分和混合文件的 Less (less-rails) 时,让系统获取对文件的更改时遇到问题。如果我可以强制系统在每个请求上生成,我会更有效率。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.1 less asset-pipeline


    【解决方案1】:

    要强制使用所有资产完全重新生成:

    rake assets:clobber assets:precompile
    

    当asset_sync 对你不公平时非常方便......

    我知道这可能对你没有帮助,但希望它能让其他人更容易找到答案。

    【讨论】:

      【解决方案2】:

      您可以使用重置资产缓存

      rake tmp:cache:clear
      

      【讨论】:

      • 自动化会更好。
      • 您必须将此命令放入脚本集中,以便在您希望将其自动化到的任何位置运行。如果没有更多信息,我无法提供自动化建议。
      【解决方案3】:

      您必须在development 环境中运行您的服务器。我认为您也可以在当前环境的配置文件中使用config.cache_classes = false 之类的内容。

      【讨论】:

      • 正在这样做,但事实证明我的问题是由略有不同的问题引起的。谢谢。
      【解决方案4】:

      我解决了。

      需要将管道指令添加到 master.less 文件(如在协调其他包含文件的主 less 文件中)。

      所以在我的例子中,application.css 包含:

      /*
       *= require html5reset-1.6.1
       *= require master
      */
      

      而 master.css.less 包含:

      /*
       *= depend_on mixins
      */
      @import "mixins";
      

      【讨论】:

      • 你应该强调重要的部分是“depend_on” :)
      • 这到底是做什么的?它是否使每个请求的缓存都无效?资产管道中发生了什么以实现您想要的结果?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-29
      • 2012-08-13
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多