Ho creato diverse app Backbone e apprezzo la struttura e l'organizzazione del codice lato client. Sto passando allo sviluppo di Node, usando Express, e sono incerto su come Express e Backbone possano lavorare insieme nella gestione dei percorsi.I router Backbone e Express possono funzionare insieme in un'applicazione Express?
risposta
È necessario comprendere che il nodo e il backbone sono indipendenti l'uno dall'altro.
- Nodo è per i server-side (per esempio lavoro con un database, api servire ecc).
- Backbone è un framework Javascript MVC lato client che offre una struttura per l'organizzazione dell'applicazione Javascript sul lato client. (L'applicazione nel browser)
si può avere un'applicazione Backbone nel vostro lato client e può collegare a qualsiasi back-end sia Node, Rails, PHP ecc ...
Per ulteriori informazioni controllare pattern MVVM e framework Javascript sul lato client.
http://backbonetutorials.com/why-would-you-use-backbone/
http://addyosmani.com/blog/understanding-mvvm-a-guide-for-javascript-developers/
potresti usare i modelli Backbone e le collezioni, e le visualizzazioni e gli eventi sul lato back-end, e probabilmente anche il router con alcune regolazioni –
Questo è corretto. Ho appena dato semplici informazioni al richiedente per capire prima il concetto. –
Grazie a Serdar, ho dimenticato di spiegare che sto usando Express. Ho una buona conoscenza di Backbone e JavaScript sul lato client. Quello di cui non sono sicuro è come possono coesistere il routing Express e il routing Backbone. In un'app Backbone, la scriverò in modo tale che se un visitatore naviga in/foo il percorso foo si trova nel mio router ed esegue una funzione che genererebbe i modelli e le viste di Backbone. Tuttavia, in un'app Express, Express vuole gestire questo routing ed eseguire la propria funzione (req, res). Possono questi lavorare insieme o devo sceglierne uno? – AndrewHenderson
Un amico mi ha dato la risposta:
Backbone utilizza percorsi hash. Per esempio http://yoursite.com/#foo
Express utilizzare il tradizionale http://yoursite.com/foo
È possibile utilizzare i router indipendenti l'uno dall'altro una basata cui si affrontano percorso - un percorso di hash per le funzioni lato client e il percorso tradizionale per la funzionalità lato server .
Entrambi i router possono coesistere.
La tua domanda su come Backbone e Express possono lavorare insieme non può essere risolta in modo preciso, perché ci sono davvero innumerevoli modi in cui possono lavorare insieme. Speriamo che alcune delle informazioni qui sotto possano aiutarti a fare ciò che vuoi fare.
Prima di tutto, si può uso www.example.com/foo (senza #) percorsi sul lato client (Backbone) - vedere l'opzione pushState
in Backbone.history.start() documentazione. È possibile integrare i percorsi sul lato client e sul lato server. Tuttavia, non è facile trovare esattamente come fare.
Alcune delle informazioni in virtù di tali link possono aiutare:
- https://github.com/developmentseed/bones
- https://github.com/SC5/backbone-serverside
- https://github.com/tysoncadenhead/backbone-on-express
- http://nerds.airbnb.com/weve-launched-our-first-nodejs-app-to-product
- http://blog.andyet.com/2011/feb/15/re-using-backbonejs-models-on-the-server-with-node/
Hai scritto di avere esperienza con Backbone ma ti stai spostando al nodo di recente, quindi presumo che tu sia aperto ad altri framework oltre a Express. Potresti considerare di usare eg. restify (oltre a Express) per creare un servizio RESTful che è possibile integrare con Backbone.
Esistono anche intere strutture come Derby o Meteor che coprono sia lato client che lato server utilizzando una base di codice ed è possibile condividere molto più dei soli router.
(Inoltre, ho appena trovato questo anno (2013) HTML5DevConf parlare:. Surviving Robots and Old Browsers by Server-side Backbone Non ho ancora guardato ma sembra molto rilevante per il problema.)
- 1. I percorsi in Express possono essere dichiarati con un loop?
- 2. express.js 4 e prese con router express
- 3. Wildcard nel router Express/node.js
- 4. I gruppi Regex e * i caratteri jolly possono funzionare insieme?
- 5. jQuery e Mootools possono funzionare insieme?
- 6. Voto superiore e inferiore con Backbone, Express e Mongoose
- 7. Come configurare il router express con ES6?
- 8. Qual è la differenza utilizzando react-router e express routes.js
- 9. Backbone Router in IE
- 10. Gli strumenti JQuery UI e JQuery possono funzionare insieme?
- 11. Sequelize e express-session model
- 12. È possibile ottenere l'URL di base per un router express
- 13. Rendering lato server con reagire, react-router ed express
- 14. Come configurare Nodo, Express e Angular2 correttamente
- 15. Cartella rotte in Express
- 16. ARM e NEON possono funzionare in parallelo?
- 17. Node.js, Express e Jade - Moduli
- 18. Passa i dati alla vista in Express
- 19. App.use Express
- 20. internazionalizzazione in Node.js, Express, i18n
- 21. node.js express app.get e app.post
- 22. Posso installare SQL Server insieme a SQL Server Express?
- 23. Express e nginx net :: ERR_CONTENT_LENGTH_MISMATCH
- 24. Express - Metodi di separazione percorso
- 25. Gestisci sottodominio Express con nginx
- 26. Nodo, Express, Ajax e Jade Esempio
- 27. Come utilizzare cookieSession in express
- 28. Backbone Router navigate e anchor href
- 29. iisnode ed express
- 30. vs 2008 express: registrazione
Backbone.Router è per lato client instradamento, vale a dire: utilizzando l'API di cronologia html5 per modificare l'URL quando si aggiorna la pagina tramite ajax. Cosa stai cercando di fare? – jordanj77