【问题标题】:Sprockets/Asset Pipeline in Rails 2.3Rails 2.3 中的 Sprockets/Asset Pipeline
【发布时间】:2013-07-17 19:09:58
【问题描述】:

我已按照以下非常详尽的说明将 sprockets/asset 管道添加到我正在开发的旧版 Rails 2.3.18 应用程序中:

http://jaredonline.github.io/blog/2012/05/16/sprockets-2-with-rails-2-dot-3/

我有一个悬而未决的问题 - 在我的 vendor/assets/stylesheets/bootstrap 目录中,我已从 sass-bootstrap gem 复制了所有 .scss 文件。

当我运行上述 URL rake assets:precompile 中提供的 rake 任务时,它会出现以下错误:https://github.com/thomas-mcdonald/bootstrap-sass/issues/378

问题是 sprockets 正在尝试编译一些部分 .scss 文件,这些文件应该只编译到主 application.css 文件中。

由于我无法更改 2.3.18 中的 config.assets.precompile Rails 配置,您如何建议我告诉 sprockets 忽略单独编译这些部分 .scss 文件?

【问题讨论】:

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


    【解决方案1】:

    查看 Sprockets 2 中的代码,我看到 manifest.compile 接受一个参数。浏览代码,看起来参数是一种可以在资产上使用的过滤器。我没有尝试或测试任何东西,但也许它可以为您提供一个起点。

    【讨论】:

      【解决方案2】:

      @joris 提供了很好的见解,但在你回复时我已经想通了!

      assets.rake#internal_precompile里面,把最后一行改成:

      manifest.compile [ Proc.new { |path| !%w(.js .css).include?(File.extname(path)) }, /application.(css|js)$/ ]

      在此页面下方找到了这个答案:http://guides.rubyonrails.org/asset_pipeline.html#precompiling-assets

      【讨论】:

      • 这就是我查看 Sprockets 2 代码时的想法。很好用。
      猜你喜欢
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-11
      • 2011-12-23
      • 1970-01-01
      • 2011-12-18
      相关资源
      最近更新 更多