Attualmente sto cercando di organizzare la mia applicazione Angular in modo tale che si riduca in modo appropriato a livello aziendale. Tuttavia, sto scoprendo che sembra esserci un'eccessiva fiducia nelle convenzioni di denominazione all'interno del framework e che cercare di evitare le collisioni di denominazione è un problema reale.Denominazione delle collisioni nelle definizioni AngularJS
Ad esempio, quando si definisce qualsiasi constants
/controllers
/directives
/factories
/filters
/providers
/services
, un nome viene alimentata al implicitamente utilizzato durante l'iniezione di dipendenza.
Questo funziona benissimo con poche definizioni. Tuttavia, quando ci potrebbero essere centinaia (forse migliaia) di queste definizioni, cercare di gestire e prevenire i duplicati sembra essere un incubo di manutenzione!
Un altro problema è la denominazione delle direttive. Poiché non sembra essere un modo per applicare qualsiasi contesto alle direttive, non è possibile avere qualcosa di simile alla seguente (cioè riutilizzare il "tasto" nome):
<toolbar>
<button></button>
</toolbar>
<customform>
<button></button>
</customform>
Quindi siamo di nuovo affidamento su convenzioni di denominazione dettagliate. Se si include il prefisso fornitore consigliato, si finisce con qualcosa di simile:
<company:toolbar>
<company:toolbar-button></company:toolbar-button>
</company:toolbar>
<company:customform>
<company:customform-button></company:customform-button>
</company:customform>
che ammetto non è orribile, ma evidenzia come il ricorso a convenzioni di denominazione può facilmente causare collisioni.
C'è qualcosa nella tabella di marcia Angolare per risolvere il problema del namespacing e quale sarebbe la soluzione (1.0.6) corrente consigliata al problema?