2011-12-15 12 views
5

Qual è il modo più semplice per combinare i file JavaScript in un singolo file in un progetto Django?Combinazione e compressione di più file JavaScript in un singolo file in un progetto Django

Spiegazione

voglio questo per lavorare con Ember.js/Backbone dove (di solito) ha molti JavaScript diverso in più directory. Directory sarebbero tutti in una cartella chiamata app/Ad esempio, come: app/views/app/models// app/router/

Requisiti

  • collaborare con l'applicazione staticfiles
  • ancora essere separati durante la modalità di sviluppo per facilitare il debug (compilare solo quando si chiama collectstatic?)
  • Lavora con Require.js (immagino che non dovrebbe essere troppo difficile, ma mettendolo in qui per essere sicuri)

credito extra

spiegare un modo migliore pratiche di combinare Django e Ember/Backbone.

risposta

4

Sono un felice utente di compressore Django, lo fa combinare, minify, eseguire il debug-friendly, è possibile utilizzarlo con staticfiles, facile da collegare con il backend di memorizzazione personalizzato (ad es. S3)

https://github.com/jezdez/django_compressor

0

Come accennato nella risposta precedente, django-compressor è bello, ma spesso si ottengono tempi di caricamento migliori quando si utilizza un caricatore javascript dedicato. Il mio consiglio è di dare un'occhiata a Head.js per esempio (http://headjs.com/) (ce ne sono anche altre là fuori). Spesso combinare gli script può essere controproducente quando si considera il caching, utilizzando javascript situato su CDN: s ecc.

Una cosa da ricordare è che Iphone 3/4 memorizzerà solo 15/25KB di javascript, quindi se si dispone di script e script enormi combinarli puoi correre nei guai. http://www.phpied.com/iphone-caching/

1

Il motivo per cui si desidera combinare più file in uno è in modo da ridurre al minimo la latenza di impostazione e riduzione delle richieste HTTP, meno ne migliori. Tuttavia, molti browser più recenti stanno scaricando file JavaScript in parallelo (ancora eseguendo in sequenza). La conseguenza è che il download di un singolo file da 1 Mb può essere più lento di tre file da 350 KB.

che è possibile utilizzare dai CDN.

Problemi correlati