Chr*_*ris 5 ruby-on-rails yepnope sprockets asset-pipeline
几个月来我成功使用资产管道.现在我想异步加载一些我的JS文件(使用yepnope库).当它运作良好,config.assets.debug是false.
但是在开发模式(config.assets.debug通常在哪里true),对我来说最好的选择是动态获取我的清单中包含的所有js文件的列表(我有2个清单:application.js和externals.js),以便将它们提供给yepnope异步加载.
有没有想过这样做?
终于找到了答案,我创建了这个帮助器(阅读本文以了解如何在资产编译期间声明辅助方法可见)
# given a list of Sprockets manifests, returns a flattened array of dependency paths
def paths_for_manifests(manifests = [])
manifests.map do |manifest|
Rails.application.assets[manifest].dependencies.map{|d| "/assets/#{d.logical_path}"}
end.flatten
end
Run Code Online (Sandbox Code Playgroud)
我像这样使用它(来自JS/CoffeeScript文件):
paths = <%= paths_for_manifests(%w(externals.js application.js)) %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1922 次 |
| 最近记录: |