2016-01-14 23 views

回答

1

首先 - keithgaputis熟練地answered a part of this here,但它不是上述問題的答案。閱讀並投了他的答案,然後看到我的補充,他的下面:

Rails.application.config.assets.precompile << Proc.new { |path| 
     blacklist = [ 
       /nvd3\/src\/intro.js$/, 
       /nvd3\/src\/outro.js$/, 
       /^.*\.less$/, 
       /admin\/modules/, 
       /admin\/themes/, 
       /admin\/responsive\..*css/ 
     ] 
     full_path = Rails.application.assets.resolve(path)#.to_path 
     puts "path: #{path}\nfull_path: #{full_path}" if BLACK_MAGIC[:assets][:debug] 

     if (path =~ /(^[^_\/]|\/[^_])[^\/]*$/) and (path !~ Regexp.union(blacklist)) 

       puts "including asset: " + full_path if BLACK_MAGIC[:assets][:debug] 
       true 
     else 
       puts "excluding asset: " + full_path if BLACK_MAGIC[:assets][:debug] 
       false 
     end 
} 

您可以將所有的正則表達式的加入黑名單陣列排阻,然後兩個部分,如果條件

if (path =~ /(^[^_\/]|\/[^_])[^\/]*$/) and (path !~ Regexp.union(blacklist)) 

將首先消除以下劃線開頭的項目(這還不是一個完美的正則表達式,用rubular玩),其次將排除與黑名單表達式匹配的任何內容。快樂的編碼!