【问题标题】:Bower and Asset Precompilation in RailsRails 中的 Bower 和资产预编译
【发布时间】:2014-11-15 16:40:14
【问题描述】:

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

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

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

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

感谢任何帮助,谢谢。

【问题讨论】:

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


    【解决方案1】:

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

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

    默认情况下它会预编译 application.jsapplication.css 以及其他一些东西,如果你不希望它们被预编译,你可以覆盖这个行为。

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

    【讨论】:

    • 好吧,我想我可以自定义加载的内容并自己编写所需的逻辑,但是.. 我希望有人已经这样做了。目前,我刚刚关闭了资产预编译,并且通过即时编译一切都很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多