禁用 Asset Pipeline/Sprockets Rails 4.1
Posted
技术标签:
【中文标题】禁用 Asset Pipeline/Sprockets Rails 4.1【英文标题】:Disable Asset Pipeline/Sprockets Rails 4.1 【发布时间】:2014-04-29 14:43:12 【问题描述】:我似乎找不到在 Rails 4.1 中禁用资产管道的方法。我看到了很多关于 Rails 3.2 的信息。
我想使用 Grunt/GulpJs 和 bower 来处理我的所有资产,但我似乎找不到任何东西。相反,我找到了一个不错的数量,但其中大部分不适用于我或已损坏。
有half-pipe
gem。然而,half-pipe 依赖于 Rails 4.0,而我使用的是 Rails 4.1,如果可能的话,我找不到强制 Gem 安装在不同版本的 Rails 中的位置。
这个问题扩展为比我预期的更多的问题。基本上我只需要知道如何禁用 Asset Pipeline,除非如何集成 GruntJS。
【问题讨论】:
【参考方案1】:在 Rails 4 中,只需删除 config/initializers/assets.rb
即可。
【讨论】:
【参考方案2】:将此添加到您的config/application.rb
:
config.assets.enabled = false
config.generators do |g|
g.assets false
end
这将禁用资产管道,并阻止 cli 生成器在生成脚手架时创建资产。
【讨论】:
【参考方案3】:您可以在config/application.rb
中添加以下行来禁用资产管道:
config.assets.enabled = false
您还可以在创建新的 Rails 应用程序时关闭资产管道,方法是将 --skip-sprockets 选项传递给它:
rails new myappname --skip-sprockets
【讨论】:
就这么简单?然后我可以只使用 grunt 来构建我的文件并在我的布局部分中提供这些文件并且做得很好? 我从来没有用过 grunt,所以不能评论那部分,但是你可以像那样简单地禁用 sprockets。 基本上 Grunt 只是输出您的文件缩小/连接/编译等,类似于管道的功能,但具有其他好处和更大的灵活性,更不用说我理解了。如果你不介意再回答一个问题。无论如何要安装具有不同版本要求的gem?我有一个需要 4.0 的 gem,但我使用的是 4.1,因为另一个 gem 使用它。 棘手。它是说它只适用于 4.0 还是最低要求?如果它说只有 4.0,那么你可以考虑降级。 我不确定是否诚实..我分叉了 gem 并删除了 4.0 要求。它是 Half-pipe,根据文档,它只不过是使用 Grunt 的生成器,所以理论上它不应该破坏任何东西或完全依赖 Rails。在解释它的视频中,唯一特定于 Rails 的功能是注释掉 Sprockets。非常感谢您的帮助。以上是关于禁用 Asset Pipeline/Sprockets Rails 4.1的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 4 URL::asset() 和asset() 之间的区别
照片库图像 URL “assets-library://asset/asset.JPG?id=1000000007&ext=JPG”为 nil