我想選擇性地壓縮Rails 3.2應用程序中的一些JavaScript文件,但仍然擁有生產環境中單個捆綁文件提供的所有js資源。選擇性導軌3.2每個文件的資產流水線壓縮
語法這樣,應用程序/資產/ Java腳本/ application.js中的文件裏,使用傳遞給最後3個鏈輪require
指令我希望編造:compress => false
選項解釋什麼,我想要的目的。
// Contents of app/assets/javascripts/application.js
//
//= require jquery
//= require jquery_ujs
//= require angular-1.0.1/angular, :compress => false
//= require angular-1.0.1/angular-resource, :compress => false
//= require products, :compress => false
那麼的jquery.js和jquery_ujs.js文件將被壓縮(由Rails的資產編譯,它默認使用UglifierJS),其餘3個文件將不會被壓縮,但它們將被捆綁到應用程序中.js包。
有沒有辦法做到這一點?
動機是products.js文件包含一個angularjs控制器,該控制器利用角度的依賴注入,這需要特定的變量名稱,例如$scope
和$http
未被更改。
非常感謝米蘭,在Rails 3.2.6中爲我工作,angularjs現在工作正常。 – 2012-08-14 20:08:32
出於好奇,'Sprockets :: LazyCompressor'部分是做什麼的? – 2013-04-23 14:00:10
幾乎在rails中的所有東西都只是「shell」,每個特定模式的具體實現都是一般化的,因此您可以切換到其他選項。鏈輪是做壓縮,sass /少量預編譯......以及許多其他事情的引擎。 Sprockets :: LazyCompressor.new行爲js壓縮創建了惰性加載器,您可以使用任何東西。默認情況下,使用uglifier來壓縮文件,上面的行只是告訴uglifier避免重命名方法參數的方法。 – 2013-04-23 22:08:21