2011-10-17 13 views
13

Ho due domande.La pipeline di asset non sta comprimendo i javascript in application.js

  1. Sto facendo un presupposto sbagliato che tutti i miei JavaScript devono essere compressi in application.js di default in Rails 3.1, anche in modalità di sviluppo?

  2. In caso contrario, perché il mio tag ha tutti i 30 javascript e il caricamento di forver?

Il mio file application.js si presenta così:

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

E nel browser viene visualizzato come:

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

Mentre tutti gli altri miei javascript siano resi in pieno.

Grazie mille!

risposta

11

Se questa è una nuova modalità di debug dell'app Rails attivata per impostazione predefinita. La modalità debug dice a Sprockets di scrivere tag per ogni file nel codice sorgente HTML. Questo è fatto per facilitare il debug del file sorgente.

Se si desidera avere un solo file in modalità di sviluppo vai alla tua development.rb e impostare:

config.assets.debug = false

questo vi darà un file per ogni manifesto.

compressione non è attivata per impostazione predefinita per lo sviluppo, ma se si voleva anche questo, quindi impostare:

config.assets.compress = true

e sarà necessario spostare le opzioni di compressione da production.rb a application.rb così sono accessibili all'ambiente di sviluppo.

Disattivo il debug in modalità dev, ma non utilizzo la compressione a causa del tempo extra necessario per elaborare i file.

Problemi correlati