如何在Rails 4中添加条件资产?

4

让我们称我的库文件为libs.js,其内容如下:

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

1
你可以将 libs.js 重命名为 libs.js.erb 并添加条件,或者像 @Tumas 回答的那样使用单独的文件。 - Igor Guzak
绝妙的技巧。谢谢。 - Miraage
@Miraage 在布局中有条件地加载你的文件,而不是在你的 JS 文件中。 - Mandeep
2个回答

2

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

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

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

1
对于那些在寻找Rails 3解决方案时偶然发现这个问题的人,你必须使用require_asset而不是仅仅使用require - Jared

0
创建两个不同的文件,一个用于开发,另一个用于生产。分别为lib_dev.js和lib.js。
# lib.js
//= require angular
//= require lodash 
//= require restangular

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

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


我现在正在使用这个解决方案,但我不会分离。 - Miraage

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接