2013-04-24 15 views
5

Per qualche strana ragione Angular JS has its own module system that is neither AMD nor CommonJS.Come caricare i moduli AMD quando si utilizza Angular JS?

Ho molti moduli esistenti in formato AMD. Mi piacerebbe usarli in un'app Angular.

Vorrei evitare di riscrivere i moduli AMD. Se possibile, vorrei anche evitare di utilizzare il sistema dei moduli di Angular.

È possibile utilizzare i moduli AMD quando si utilizza Angolare? è possibile evitare il sistema di moduli personalizzati di Angular?

+0

Non so se "evitare" è l'idea giusta qui. Penso che tu stia solo chiedendo come usare i tuoi moduli AMD. Qual è il modo migliore per consumare i vecchi moduli AMD è la vera domanda qui. Non sono sicuro della risposta. Sono arrivato a questa domanda in un modo leggermente diverso. Ma non raccomanderei davvero di evitare il modello di Angular. Ma sarei molto curioso del miglior approccio al consumo di moduli AMD realizzati in altri progetti, ecc. Le altre risposte sono interessanti, ma non credo che abbiano davvero fatto giustizia a questa domanda. – vbullinger

risposta

2

È necessario definire i componenti angolari in "modo angolare" (ad esempio angular.module ('yourApp'). Direttiva ('someDirective', ...)), ma si può certamente usare AMD sia per il wrapping Componenti angolari e per il trascinamento di componenti non angolari su Angolare. Controlla this seed project.

2

Non è possibile sostituire le definizioni del modulo di Angular con AMD. Per ora devi avvolgere il tuo codice angolare in AMD.

Un'altra cosa da notare è che non esiste un modo reale per i moduli "lazy load" al momento. Alla fine dovrai richiedere tutti i moduli angolari che utilizzerai nella tua applicazione nella definizione del tuo modulo angolare principale, quindi per ora i vantaggi dell'uso di AMD sono limitati.

Il team di sviluppo dice che supporterà il caricamento lento in qualche punto futuro, che è l'unica ragione per avvolgere i file in AMD ora.

+0

Grazie. Il mio team utilizza AMD anche come standard in un'ampia varietà di app, quindi è possibile caricare questi moduli senza doverli convertire in un altro formato meno comune. – mikemaccana

+0

qual è la migliore pratica ora per gli sviluppatori angolari? – FutuToad

+0

Bene, puoi caricare i moduli ora con [oclazyload] (https://oclazyload.readme.io/) –

Problemi correlati