2012-02-09 21 views
7

Sono molto grato a Addy Osmani e Thomas Davis per aver pubblicato i loro esempi e le piastre riscaldanti (http://backbonetutorials.com/organizing-backbone-using-modules, https://github.com/addyosmani/backbone-aura).Applicazione Web con pacchetti backbone.js e requirejs, requirejs optimizer

Mi stavano aiutando molto a iniziare.

Attualmente sto sviluppando una grande applicazione web. Quindi ho molti componenti, ad esempio gestione degli indirizzi, gestione delle date, tutto. Ogni componente occupa l'intero spazio nella mia app (ad eccezione della barra dei menu). Ogni selezione di un nuovo componente nel menu richiede una transizione di pagina.

All'inizio ho preso la struttura del file, lo standard utilizzato dalle esercitazioni precedenti (dando tutte le viste alla directory 'views'). Ma man mano che venivano aggiunti altri componenti, mettere le viste in una directory di visualizzazioni diventava per me fonte di confusione. Anche la creazione di sottodirectory non sarebbe una soluzione, perché in questa struttura di file ho perso le informazioni su quale vista è correlata a quale modello.

Così ho cercato un'altra soluzione e ho trovato pacchetti requirejs amd (http://requirejs.org/docs/api.html#packages). Questo mi ha aiutato molto dato che tutti i moduli appartenenti allo stesso componente (modelli, collezioni, viste) sono entrati in una directory. Perché postfixing ogni modello con "Model" (e così via), cose in cui abbastanza pulito per me.

Ora alla domanda: Sono in fase di pre-produzione. Non sono riuscito a creare e concatenare le cose insieme per l'implementazione della produzione. Ma ora voglio provare l'optimizer requirejs. Ho letto la pagina "http://requirejs.org/docs/optimization.html" di James Burke. Ma non tutto è chiaro per me.

Voglio che io sia il seguente: Ho queste directory dei pacchetti. Tutti i moduli amd (viste, modelli, raccolte) da una directory di pacchetti devono essere concatenati a un unico file, ma le loro dipendenze non devono essere incluse, poiché molte di queste dipendenze da pacchetti esterni vengono caricate separatamente all'inizio.

C'è qualcuno con requisiti uguali o simili, che ha già eseguito questo passaggio e può dare alcuni suggerimenti.

Grazie mille
Wolfgang

+0

Ho appena rilasciato un toolkit open source che speriamo possa aiutare gli altri tanto quanto mi aiuta. Si tratta di una composizione di molti strumenti open source che ti dà un'app di backbone workingjs funzionante pronta all'uso. Fornisce comandi singoli da eseguire: server Web di sviluppo, runner di prova per browser singolo di gelsomino, runner di test multi browser per jasmine js-test-driver e concatenamento/minificazione per JavaScript e CSS. Produce anche una versione non terminata della tua app per il debug della produzione, precompila i modelli del tuo manubrio e supporta i18n. Funziona. http://github.com/davidjnelson/agilejs – davidjnelson

risposta

8

Potete dare un'occhiata a questi due boilerplates e vedere se sono utili ...

https://github.com/jcreamer898/RequireJS-Backbone-Starter
https://github.com/david0178418/BackboneJS-AMD-Boilerplate
https://github.com/swbiggart/node-express-requirejs-backbone

Alcuni di quelli hanno costruito script in loro per mostrarti come funziona.

+0

Grazie per quello, potresti dirci quali piastre sono state utilizzate e perché? –

+0

Ho scritto il primo, contiene lo script di build e alcuni fork AMD effettivi di Backbone e Underscore, quindi non è necessario utilizzare i caricatori che il secondo utilizza. Il terzo è un esempio che utilizza il nodo come server. – jcreamer898

+0

potresti aggiungere un link a quella forcella AMD? Non riesco a trovarlo – abstraktor