2013-04-24 11 views
5

Z jakiegoś dziwnego powodu: Angular JS has its own module system that is neither AMD nor CommonJS.Jak ładować moduły AMD podczas korzystania z Angular JS?

Mam wiele istniejących modułów w formacie AMD. Chciałbym ich użyć w aplikacji Angular.

Chciałbym uniknąć przepisywania jakichkolwiek modułów AMD. Jeśli to możliwe, chciałbym również uniknąć stosowania własnego systemu modułów Angular.

Czy można używać modułów AMD podczas korzystania z Angular? czy można uniknąć niestandardowego systemu Angulara?

+0

Nie wiem, czy "unikam" jest tutaj właściwym pomysłem. Myślę, że po prostu pytasz, jak używać wszystkich modułów AMD. Jaki jest najlepszy sposób konsumowania starych modułów AMD, jest tu prawdziwym pytaniem. Nie jestem pewien odpowiedzi. Doszłam do tego pytania w nieco inny sposób. Ale nie polecałbym unikania schematu Angulara. Ale byłbym bardzo ciekawy co do najlepszego podejścia do konsumowania modułów AMD wykonanych w innych projektach itp. Inne odpowiedzi są interesujące, ale nie wydaje mi się, żeby tak naprawdę zrobiły to pytanie. – vbullinger

Odpowiedz

2

Musisz zdefiniować komponenty kątowe w "sposób kątowy" (np. Angular.module ("yourApp"). Dyrektywa ("someDirective", ...)), ale możesz oczywiście użyć AMD do zawijania Elementy kątowe i do przeciągania elementów nieagresywnych do Angular. Sprawdź this seed project.

2

Nie można zastąpić definicji modułów Angulara definicjami AMD. Na razie musisz zawinąć swój kod Angular w definicję AMD.

Inną rzeczą, na którą należy zwrócić uwagę, jest brak realnego sposobu na moduły "leniwego obciążenia". Będziesz musiał ostatecznie wymagać wszystkich modułów kątowych, których będziesz używać w swojej aplikacji w definicji głównego modułu kątowego, więc korzyści z używania AMD są na razie ograniczone.

Zespół programistów twierdzi, że w przyszłości będzie obsługiwał leniwe ładowanie, co jest jedynym powodem, dla którego można teraz umieszczać pliki w AMD.

+0

Dzięki. Mój zespół używa standardu AMD jako standardu w wielu różnych aplikacjach, dlatego ważne jest, aby móc ładować te moduły bez konieczności konwertowania ich na inny, mniej powszechny format. – mikemaccana

+0

jaka jest teraz najlepsza praktyka dla programistów kątowych? – FutuToad

+0

Teraz możesz załadować moduły za pomocą [oclazyload] (https://oclazyload.readme.io/) –

Powiązane problemy