这可能是我错过了一个完全明显的解决方案,但我现在尝试了几种方法并感到迷茫。
目前的情况是我有一个Rails项目,它使用bower来管理前端资产(jQuery,Angular ......你明白了)。我使用bower-rails gem和“vanilla”bower.json将依赖项写入vendor / assets / bower_components。
我可以在开发模式下使用一切,因为我不使用uglifier来预处理资产。但在生产模式下,某些资产(如jQuery)无法编译。这是因为uglifier尝试编译和uglify jQuery的源文件,而不仅仅是使用dist文件夹中的东西(你猜对了,准备分发)。
我想要做的只是在预编译阶段只包含通过bower提供的文件中的分发相关文件 - 我不知道如何到达那里。
感谢任何帮助,谢谢。
答案 0 :(得分:3)
您可以在config/initializers/assets.rb
中明确定义要预编译的内容:
Rails.application.config.assets.precompile += %w(dist/*)
默认情况下,它会预编译 application.js 和 application.css 以及其他一些内容,如果您不希望对它们进行预编译,则可以覆盖此行为。
看看Rails official guide,它解释了如何使用更复杂的规则来包含资产以进行预编译。