我在供应商/资产/ javascripts中有一整套javascripts。在我的app / assets / javascripts / application.js文件中,我有指令:
//= require_tree .
那只是引用当前的app / assets / javascripts目录,而不是lib / assets或vendor / assets吗?
如果我明确包含javascripts,它就有效。如果我不需要的话,我真的不想这样做。
是否有一些我遗漏的东西会让资产管道能够自动从app目录(lib和供应商)外部提供资产?
答案 0 :(得分:5)
require_tree仅提取application.js文件下的资产。
lib/assets
和vendor/assets
已包含在管道的查找路径中(refer this code)。
您可以使用第二个清单包含这些销售文件。
转到vendor/assets/javascripts
并创建一个名为misc_vendor.js
在里面添加了一个require_tree指令。
然后从application.js清单中引用该文件:
require misc_vendor
如果由于加载订单而出现任何问题,您可以按照所需的顺序手动要求供应商文件,而不是使用require_tree。
作为转换到管道的一部分,它可能是清理东西的好机会! : - )
答案 1 :(得分:1)
此外,您可以在没有第二个清单的情况下执行此操作:
//= require_tree ../../../vendor/assets/javascripts/.
该路径应该相对于'app / assets / javascripts / application.js'清单文件。
答案 2 :(得分:0)
您需要像这样在application.rb文件中扩展路径。
config.assets.paths << "#{Rails.root}/vendor/assets/some file name"