2011-10-17 65 views
13

我有兩個問題。資產管道沒有將javascript壓縮到application.js

  1. 難道我作出錯誤的假設,我所有的JavaScript的應該是默認甚至在開發模式下軌3.1被壓縮成的application.js?

  2. 如果沒有,那麼爲什麼我的標籤有我的JavaScript的所有30個,並採取forver加載?

我的application.js文件看起來像這樣:

//= require jquery 
//= require jquery_ujs 
//= require jquery-ui 
//= require_tree . 

並在瀏覽器,因爲它呈現:

// This is a manifest file that'll be compiled into including all the files listed below. 
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically 
// be included in the compiled file accessible from http://example.com/assets/application.js 
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the 
// the compiled file. 
// 
; 

雖然我的所有其他的JavaScript以充分呈現。

謝謝一堆!

回答

11

如果這是一個新的Rails應用程序,則默認情況下調試模式處於打開狀態。調試模式告訴Sprockets將每個文件的標籤寫入HTML源代碼。這是爲了方便源文件調試。

如果你想在發展模式只有一個文件到您的development.rb並設置:

config.assets.debug = false

這會給你一個文件的每個清單。

壓縮不是在默認情況下進行開發,但如果你想太,然後設置:

config.assets.compress = true

而且你需要從production.rb移動壓縮機選項application.rb中如此它們可以被開發環境訪問。

我在dev模式下關閉了調試功能,但由於處理文件需要額外的時間,所以我不使用壓縮功能。

相關問題