【问题标题】:How do I add conditional assets in Rails 4?如何在 Rails 4 中添加条件资产?
【发布时间】:2014-09-18 10:27:38
【问题描述】:

让我们用内容调用我的库文件libs.js

//= require angular
//= require lodash
//= require restangular
//= require angular-mocks if Rails.env.development?

【问题讨论】:

  • 您可以将libs.js 重命名为libs.js.erb 并添加条件,或使用@Tumas 回答的单独文件
  • 绝妙的提示。谢谢。
  • @Miraage 有条件地在布局中加载您的文件,而不是在您的 js 文件中

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


【解决方案1】:

正如@IS04 提到的,我找到了结果,这就是我需要的。

使用libs.js.erb 代替libs.js

//= require angular
//= require lodash
//= require restangular
<% require 'angular-mocks' if Rails.env.test? %>

【讨论】:

  • 对于那些在寻找 Rails 3 解决方案时遇到这个问题的人,您必须使用 require_asset 而不仅仅是 require
【解决方案2】:

创建两个单独的文件。一个用于开发,另一个用于生产。 lib_dev.js 和 lib.js。

# lib.js
//= require angular
//= require lodash 
//= require restangular

# lib_dev.js
//= require ./lib
//= require angular-mocks

然后在您的布局中根据环境加载必要的文件。

【讨论】:

  • 我现在正在使用这个解决方案,但我不会分开。
猜你喜欢
  • 1970-01-01
  • 2014-09-12
  • 1970-01-01
  • 2013-09-13
  • 2014-11-16
  • 2013-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多