Kiedy zaktualizowałem Angular z 7 do Angular 8, otrzymałem błąd z powodu leniwego ładowania modułów
Wypróbowałem opcje, które są dostępne w przewodniku aktualizacji kątowej
Wprowadzono poniższe zmiany:
Przed
loadChildren: '../feature/path/sample-
tage.module#SameTagModule'
Po
loadChildren: () => import('../feature/path/sample-
tags.module').then(m => m.CreateLinksModule)
błąd TS1323: Import dynamiczny jest obsługiwany tylko wtedy, gdy flaga „--module” ma wartość „commonjs” lub „esNext”.
javascript
angular
typescript
module
angular8
RajuPedda
źródło
źródło
ng new
nie używa tego domyślnie. Czy jest powód?"module": "es2015"
linię z mojegotsconfig.app.json
pliku"module": "esnext"
.Po prostu dodając do anwser @ Tony'ego, może być konieczne zrobienie tego samego (zmiana na "module": "esnext") w tsconfig.app.json. W moim przypadku tsconfig.json używał już esnext jako modułu, ale tsconfig.app.json nadal używał es2015 i to spowodowało ten błąd.
źródło
Chcę tylko dodać moje doświadczenie do odpowiedzi @ Tony'ego. Po zmianie
tsconfig.json
nadal pokazywał błąd (czerwone podkreślenie). Dopiero po ponownym otwarciu edytora (użyłem VSCode) zauważyłem, że czerwone podkreślenie zniknęło.źródło
Myślę, że właściwym sposobem na to jest
tsconfig.app.json
raczej dostosowanie niżtsconfig.json
.tsconfig.app.json
tsconfig.app.json
to plik konfiguracyjny Typescript specyficzny dla aplikacji, który znajduje się poniżej katalogu głównego obszaru roboczego Angular .tsconfig.app.json
Istnieje więc, że jeśli budujemy kątowym roboczy zawierający wiele aplikacji w nim, można dostosować konfigurację maszynopis oddzielnie dla każdej aplikacji bez konieczności pisania zbędnych właściwości konfiguracyjne, które pokrywają się między aplikacjami (stądextends
własności).Technicznie wcale nie potrzebujesz
tsconfig.app.json
. Jeśli go usuniesz, będziesz musiał umieścić"module": "esnext"
wtsconfig.json
. Jeśli go tam zatrzymasz, będzie miał pierwszeństwo przedtsconfig.json
, więc musisz tylko dodać"module":"esnext"
liniętsconfig.app.json
.źródło
rozwiązuję ten błąd, wykonując następujące kroki krok 1: „moduł”: „es2015” do „moduł”: „AMD” w tsconfig.json
krok 2: utwórz nowy plik tsconfig.app.json w katalogu głównym aplikacji, skopiuj kod Tony Ngo i wklej do niego, wtedy ten problem zostanie rozwiązany.
źródło