Je dirais que l'ensemble de vos points peuvent être facilement réalisée, au moins, sans aucune modification Angulaire.
- être en mesure de séparer les contrôleurs, les directives, les filtres, etc. dans leurs propres dossiers;
cela peut être fait, bien entendu, avec de base Angulaire, comme vous pouvez inclure autant de balises de script avec les contrôleurs/services que vous le souhaitez. Bien sûr, il n'est pas évolutive à tous, donc la meilleure option serait d'utiliser AMD modules, comme RequireJS. C'est l'une des graines qui ont ce genre de configuration: https://github.com/elsom25/angular-requirejs-html5boilerplate-seed
- être en mesure de charger ces fichiers à la demande plutôt que d'en faire le navigateur de charger tout;
Comme pkozlowski suggéré dans les commentaires, il y est déjà et à l'entrée avec une description du problème, vous allez voir que je travaille aussi pour résoudre ce problème, et effectivement eu quelques résultats. J'ai un exemple de travail de chargement des contrôleurs, des modèles et des directives sur demande à l'aide de RequireJS et résoudre les param de la route de configuration.
- être en mesure d'avoir commune, la croix-composantes du projet (par exemple: directives, des filtres ou des services)
Avoir les points précédents résolues, il pourrait être facilement réalisée à l'aide de RequireJs modules.
Je me demandais si à partir d'un agularjs-paresseux-projet de semences serait une bonne idée? Est-il de la demande pour qui? Nous pourrions même aller plus loin et de déplacer les itinéraires des configurations à l'extérieur de la configuration normale, disons que vous avez un point de vue.fichier json (idéalement un service qui répond avec json) avec les vues que vous souhaitez inclure dans votre demande:
{
"views" : {
....
"account" : {
"path" : "/account" // route path
"name" : "Account", // view name
"partial" : "views/account/account.html", // partial file
"controller" : "account/main" // RequireJS module
"directives" : [ "directives/version", "directives/menu" ] // directives used in the view
}
....
}
}
De cette façon, vous pouvez:
- développer le point de vue de la séparation et de la construction de l'application basé sur json bootstrap
- ont en commun certaines directives et des composants
- lorsque bootstrap après la connexion, vous pouvez filtrer les vues que l'utilisateur est autorisé à voir
- tout à l'intérieur de la ngView serait chargé à la demande
Bien sûr, votre demande doit alors être vraiment grand, de sorte qu'à faire tout ce travail supplémentaire aurait fait sens ;)