加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails / Assets管道:动态列出清单中包含的资

发布时间:2020-12-17 03:35:58 所属栏目:百科 来源:网络整理
导读:几个月来我成功使用资产管道. 现在我想异步加载一些我的JS文件(使用yepnope库).当config.assets.debug为false时,它运行良好. 但是在开发模式下(其中config.assets.debug通常是真的),对我来说最好的选择是动态获取我的清单中包含的所有js文件的列表(我有2个清
几个月来我成功使用资产管道.
现在我想异步加载一些我的JS文件(使用yepnope库).当config.assets.debug为false时,它运行良好.

但是在开发模式下(其中config.assets.debug通常是真的),对我来说最好的选择是动态获取我的清单中包含的所有js文件的列表(我有2个清单:application.js和externals.js)把它们交给yepnope进行异步加载.

有没有想过这样做?

解决方法

终于找到了答案,我创建了这个帮助器(阅读 this以了解如何在资产编译期间声明辅助方法可见)

# 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

我像这样使用它(来自JS / CoffeeScript文件):

paths = <%= paths_for_manifests(%w(externals.js application.js)) %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读