2009-12-30 11 views
8

Sto iniziando a imparare JavaScript e jQuery. Sono riuscito a fare alcune modifiche e tutto, va bene finora. Ma stavo pensando se fosse una buona pratica mescolare più file jQuery e plugin. Ad esempio:Miscela di più file jQuery - Le migliori pratiche?

Ho jQuery 1.3.2 min.js, jQuery che facilita 1.3.js, jQuery Cycle min.js e jQuery UI. Sarebbe consigliabile mettere insieme jQuery (main), jQuery easing e jQuery cycle in un solo file?

Per favore dammi un po 'di luce qui.

Grazie,

+0

Buona prima domanda, benvenuti a Stack Overflow! –

risposta

2

No, terrei separati i file. Mantiene separate le funzionalità e semplifica il re-plugin delle versioni successive dei plug-in se lo si desidera.

Inoltre, modificando il file per includere tutto il codice del plugin, si introduce intrinsecamente il rischio, poiché il file stesso non sarà stato soggetto al test degli autori del codice originale.

Certo, direi che i vantaggi sono notevolmente superati dalle insidie.

+0

Mi piacerebbe mantenere i file separati solo a causa dei possibili problemi che le variabili hanno lo stesso nome, non avendo le cose separate dai namespace, ecc.Se si vuole ridurre la larghezza di banda, minimizzare il codice prima che la distribuzione possa essere qualcosa da guardare. – Chris

+0

Grazie mille per la tua risposta chiara. Voi ragazzi avete un punto di forza lì. Sono molto più sollevato ora nel vedere che non è un crimine se li compilo o li tengo separati. – Vitor

+0

Ottenuto un downvote per questo. Non che io sia infastidito, ma sarebbe bello sapere che –

5

È possibile farlo. Salva la quantità di richieste HTTP per trascinare tutto il codice JS. È solo un po 'più difficile da mantenere, ma a mio avviso non supera i benefici che tu (e il cliente!) Hanno con meno richieste HTTP.

Se si utilizza un linguaggio lato server e buoni strumenti di distribuzione, è anche possibile automatizzare il ridimensionamento e l'unione di file JS prima della pubblicazione. Lo facciamo anche con un piccolo aiuto di YUI Compressor e poche righe di codice Java in un'applicazione batch. Funziona alla grande, gli utenti finali hanno il vantaggio di meno richieste HTTP e gli sviluppatori hanno il vantaggio di non eseguire tutte le fusioni e la manutenzione manualmente.

+0

Grazie mille per la tua risposta chiara. Avevo paura che sarebbe considerato una cosa "approssimativa", lo sai. :-) – Vitor

4

Dato che Google sta pensando di considerare la velocità di risposta del sito come un qualificatore per il posizionamento, potrebbe essere meglio compilare tutto il JS in un unico file. YSlow è un buon strumento per aiutarti a determinare il modo migliore per fare questo genere di cose.

+1

YSlow è davvero un ottimo strumento per l'analisi delle prestazioni, ma non vedo come questo possa aiutare nella decisione se minimizzare i file JS o meno. Ancor più, YSlow * consiglia * di farlo, indipendentemente da ciò che si ha. Questo risponde implicitamente "sì, dovresti farlo". – BalusC

+0

@BalusC Giusto, questo è fondamentalmente quello che stavo cercando di dire nel mio modo prolisso. :) –

+0

Grazie mille per la tua risposta chiara. Non ho molta familiarità con lo YUI stesso, ma sono disposto a imparare. Se utilizzo un compilatore YUI online, i risultati saranno gli stessi? – Vitor

6

Tenere separati i file e utilizzare il back-end per minify e gzip come parte del processo di distribuzione. Come altri hanno già detto, questo salverà i tuoi utenti che fanno richieste inutili e ti farà risparmiare la necessità di mantenere un enorme file brutto.

Il vantaggio aggiunto è che è possibile mantenere effettivamente i file dettagliati, commentati e completi per tutti questi nell'albero dei sorgenti (per la lettura di/etc) mentre vengono utilizzati quelli compressi per gli utenti.

+0

Grazie mille per la tua risposta chiara. Suggerimento stupendo, a parte il gzip back-end, ma sono su un hosting condiviso che al momento non lo supporta. :-(Accidenti ... – Vitor

+0

Puoi Gzip l'output manualmente.I dettagli dipendono dalla lingua lato server in questione – BalusC

+1

Di solito è necessario abilitare il supporto degli asset gzip in apache, afaik. Va bene se non riesci a farlo funzionare con hosting condiviso. Ricordati di rivisitare quando ti sposti su VPS :) – rfunduk

2

Questa è probabilmente una risposta tardiva, ma proverei a servire quanti più file possibile da Google, Microsoft, ecc. CDN. Anche se fai riferimento a più file, le probabilità che qualcuno abbia già scaricato un file da un altro sito sono alte e eviteranno di scaricarlo nuovamente.

Per quanto riguarda la personalizzazione, in-house, JavaScript, scrivo il 99% del mio JS in un plug-in jQuery, anche se utilizzerò solo quel plug-in su un modulo. Quindi posso combinare tutto il mio JS in un unico file, eseguirlo tramite Google Closure e averlo pronto.

L'altro 1% è dove ogni pagina richiama i plugin e passa qualsiasi parametro di cui ha bisogno.

+0

Grazie mille, Mark. Mi hai dato molte informazioni qui. :) – Vitor

Problemi correlati