2014-05-07 3 views
0

J'ai recherché sur ce sujet mais je ne trouve pas de réponse claire à ce sujet. Je commence à apprendre sur les applications Backbone. Et je veux intégrer Backbone dans mon application Express.js. Quelle est la meilleure façon d'organiser la structure des dossiers?Application de structure avec Backbone.js et Express.js

Répondre

1

Backbone.js est plus de l'interface. Ainsi, il pourrait appartenir à un répertoire séparé. En ce qui concerne votre application express, je recommande de le transformer en une API backend, qui vous aide à récupérer toutes les données de mongoDB ou d'autres transactions liées au backend. Maintenant, il ressemblerait à quelque chose comme

  • yourExpressApi < = back-end
  • backboneapp < = frontend

maintenant l'application épine dorsale doit contenir les répertoires

js avec les sous-répertoires "lib", " views "et" models ", avec le fichier index.js, qui servira de point d'entrée pour backbone.js. Le répertoire lib doit contenir, souligner, backbone, marionette, bootstrap, jQuery, etc.

où vous placez vos modèles d'affichage. Depuis underscore.js est une dépendance pour backbone.js et est gérée par un template.

index.html, où vous placez tous les scripts nécessaires. Ce doit être une APP ONE PAGE.

Vous pouvez ajouter d'autres répertoires à volonté.

+0

Je cherche un exemple d'application qui utilise backbone.js et express.js. En connaissez-vous un? Merci –

+0

Apparemment je le fais. Désolé pour la réponse tardive. J'en ai un. – Jekk

0

Il n'y a aucune restriction ou un meilleur moyen de le faire. Mais j'utilise l'architecture fonctionnelle la plupart du temps et il fonctionne assez bien:

J'utilise habituellement un dossier statique séparé pour la application client comme ci-dessous

app.use("/", express.static(__dirname + "/public")); 

L'architecture de ce dossier pourrait être comme ci-dessous :

 

|- public/ 
|----- index.html (include the scripts from vendors and app dir, could be as main layout) 
|----- vendors/ (here you place the libs like jquery, underscore, backbone ...) 
|----- css/ (you css files) 
|----- imgs/ (here the images that you use) 
|----- nls/ (if you have multi lingual application) 
|----- app/ 
|------- app.js (configure your backbone application) 
|------- routes.js 
|------- models/ (here you place your backbone models) 
|------- modules/ (functional folders for each feature in you app) 
|---------- index/ (each module contain its backbone views and template files) 
|---------- signup/ 
|---------- profile/ 

  • vous pouvez accéder aux fichiers comme celui-ci "localhost: 3000/index.html" est votre fichier d'index, "localhost: 3000/css/whatever.css"
  • si vous avez de gros modules et beaucoup de routes dans chacun, vous pouvez mettre un fichier routeur pour chaque fonctionnalité (inscription, profil, ..)
  • si vous avez des widgets UI communs, vous pouvez les placer dans un dossier séparé, par exemple "app/widgets/SpecialButton"
Questions connexes