Rails中的Bower和资产预编译

时间:2014-11-15 16:40:14

标签: ruby-on-rails asset-pipeline bower

这可能是我错过了一个完全明显的解决方案,但我现在尝试了几种方法并感到迷茫。

目前的情况是我有一个Rails项目,它使用bower来管理前端资产(jQuery,Angular ......你明白了)。我使用bower-rails gem和“vanilla”bower.json将依赖项写入vendor / assets / bower_components。

我可以在开发模式下使用一切,因为我不使用uglifier来预处理资产。但在生产模式下,某些资产(如jQuery)无法编译。这是因为uglifier尝试编译和uglify jQuery的源文件,而不仅仅是使用dist文件夹中的东西(你猜对了,准备分发)。

我想要做的只是在预编译阶段只包含通过bower提供的文件中的分发相关文件 - 我不知道如何到达那里。

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:3)

您可以在config/initializers/assets.rb中明确定义要预编译的内容:

Rails.application.config.assets.precompile += %w(dist/*)

默认情况下,它会预编译 application.js application.css 以及其他一些内容,如果您不希望对它们进行预编译,则可以覆盖此行为。

看看Rails official guide,它解释了如何使用更复杂的规则来包含资产以进行预编译。