【发布时间】:2014-03-05 06:19:30
【问题描述】:
我预编译了我的所有 Javascript 文件,以便可以从其他页面中调用它们。然而,现在 Rails 每次都会预编译 vendor 中的所有文件,即使它们很少更改。如何让它在预编译时忽略供应商并只使用以前预编译的供应商文件?
这是我的 production.rb 代码:
config.assets.precompile += ['*.js']
更新: 我希望它忽略供应商有两个原因:
- 预编译所有文件大约需要 5 分钟,所以我只希望它使用以前的文件。
- 更糟糕的是,它无法预编译其中一个文件,所以我必须自己重做那个文件。
如何加快速度并跳过这些文件?
【问题讨论】:
-
如果文件没有改变,资产管道应该生成相同的预编译文件,并在文件名中添加相同的哈希。您是否不想尝试编译这些文件,因为它们没有更改?
-
你有什么尝试吗?
-
@steakchaser,查看更新。
-
我没有给你一个好的答案,但基本上你需要做的是弄清楚如何让管道只编译已经改变的资产——或者通过@987654324的一些定制@ 或通过自定义
rake任务。首先,也许你可以看看/使用这个 gem:github.com/ndbroadbent/turbo-sprockets-rails3 -
我还看到了这篇文章,其中显示了一些自定义的
Procs 人们为控制哪些资产被编译。这不是您问题的直接解决方案,但如果上述 gem 不起作用,可能会帮助您获得一些想法。 stackoverflow.com/questions/10097993/…
标签: javascript ruby-on-rails heroku ruby-on-rails-3.2 asset-pipeline