2011-10-17 11 views
13

Mam dwa pytania.Strumień aktywów nie kompresuje javascripts do application.js

  1. jestem co błędne założenie, że wszystkie moje javascripts powinien być skompresowany do application.js domyślnie w szynach 3.1 nawet w trybie rozwoju?

  2. Jeśli nie, to dlaczego mój znacznik ma wszystkie 30 moich javascriptów i ładowanie ich trwa dłużej?

Mój plik application.js wygląda następująco:

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

I w przeglądarce jest on wyświetlany jako:

// 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. 
// 
; 

Podczas wszystkich moich innych javascripts są renderowane w całości.

Podziękuj!

Odpowiedz

11

Jeśli jest to nowy tryb debugowania aplikacji Rails jest domyślnie włączony. Tryb debugowania mówi Sprockets, aby zapisywał znaczniki dla każdego pliku w źródle HTML. Odbywa się to w celu ułatwienia debugowania plików źródłowych.

Jeśli chcesz mieć tylko jeden plik w trybie rozwoju przejdź do development.rb i ustawić:

config.assets.debug = false

To daje jeden plik dla każdego manifestu.

kompresji nie jest domyślnie włączona dla rozwoju, ale jeśli chciał, że zbyt, a następnie ustaw:

config.assets.compress = true

i trzeba będzie przenieść opcje sprężarek z production.rb do environment.rb tak są dostępne dla środowiska programistycznego.

Wyłączam debugowanie w trybie deweloperskim, ale nie używam kompresji z powodu dodatkowego czasu potrzebnego na przetworzenie plików.

Powiązane problemy