Je suis sur le point de tenter mon premier projet Angular JS et il est logique d'utiliser Node JS pour le back-end, même si cela signifie apprendre Angular et Node à partir de zéro en même temps.
La première chose que j'essaie de comprendre, c'est une bonne structure de fichiers. Pour l'instant, mon modèle Pure HTML/CSS a la structure de répertoire suivante : ....
_site/
Fonts/
Javascript/
SASS/
Stylesheets/
Index.html
( _site est un répertoire de travail pour les PSDs etc)
J'ai trouvé un exemple de structure de répertoire pour une application Node/Angular ici.....
https://github.com/btford/angular-express-seed
... ce qui suggère la structure de répertoire suivante
app.js --> app config
package.json --> for npm
public/ --> all of the files to be used in on the client side
css/ --> css files
app.css --> default stylesheet
img/ --> image files
js/ --> javascript files
app.js --> declare top-level app module
controllers.js --> application controllers
directives.js --> custom angular directives
filters.js --> custom angular filters
services.js --> custom angular services
lib/ --> angular and 3rd party JavaScript libraries
angular/
angular.js --> the latest angular js
angular.min.js --> the latest minified angular js
angular-*.js --> angular add-on modules
version.txt --> version number
routes/
api.js --> route for serving JSON
index.js --> route for serving HTML pages and partials
views/
index.jade --> main page for app
layout.jade --> doctype, title, head boilerplate
partials/ --> angular view partials (partial jade templates)
partial1.jade
partial2.jade
Donc, cela me semble très bien (sauf que je n'utiliserais pas Jade).
J'ai encore les questions suivantes...
1) Je veux garder tous les fichiers frontaux et dorsaux séparés. Cette solution place tous les fichiers frontaux dans le répertoire public/, ce qui est logique car la plupart doivent être publics, mais est-il judicieux de placer les dossiers SASS et _site ici ? Je pourrais simplement les garder là et ne pas les télécharger lorsque je les mets en production, mais cela ne semble pas correct car ils ne devraient pas être publics. Ils n'ont pas non plus leur place au niveau de la racine avec tous les éléments du back-end.
2) Ne serait-il pas préférable de charger Angular à partir d'un CDN ?
3) Étant donné que le serveur n'aura besoin de fournir qu'un seul modèle (le modèle de l'application principale) et que tout le reste du HTML sera construit sur le front-end, ne serait-il pas plus logique de garder le fichier index.html statique, de supprimer le dossier views et de créer un dossier partials/ sous public/ comme le fait l'application Angular Seed originale ?
Je réalise que tout ceci n'est qu'une question d'opinion et que je pourrais techniquement les mettre où je veux, mais j'espère que quelqu'un de plus expérimenté que moi pourra me conseiller sur les pièges des différentes structures de répertoire.
Comme vous pouvez le voir, c'est nouveau pour moi. Toute aide serait vraiment appréciée.