Angulaire: Erreur: Uncaught (promesse) à webpackAsyncContext (eval./src/$$ paresseux route de ressources
je me suis mise à niveau à partir de Angulaire 4.0.0Angulaire 5.2.6
je suis confronté à un problème pour obtenir le chargement de module paresseux fonctionne.
angulaire 4.0.0 , il fonctionne très bien , mais maintenant , avec 5.2.6 , j'obtiens une erreur lors d'un clic sur mon bouton de redirection :
core.js:1448 ERROR Error: Uncaught (in promise): TypeError: undefined is not a function
TypeError: undefined is not a function
at Array.map (<anonymous>)
at webpackAsyncContext (eval at ./src/$$_lazy_route_resource lazy recursive (main.bundle.js:27), <anonymous>:13:34)
at SystemJsNgModuleLoader.loadAndCompile (core.js:6558)
at SystemJsNgModuleLoader.load (core.js:6542)
at RouterConfigLoader.loadModuleFactory (router.js:4543)
at RouterConfigLoader.load (router.js:4523)
at MergeMapSubscriber.eval [as project] (router.js:2015)
at MergeMapSubscriber._tryNext (mergeMap.js:128)
at MergeMapSubscriber._next (mergeMap.js:118)
at MergeMapSubscriber.Subscriber.next (Subscriber.js:92)
at Array.map (<anonymous>)
at webpackAsyncContext (eval at ./src/$$_lazy_route_resource lazy recursive (main.bundle.js:27), <anonymous>:13:34)
at SystemJsNgModuleLoader.loadAndCompile (core.js:6558)
at SystemJsNgModuleLoader.load (core.js:6542)
at RouterConfigLoader.loadModuleFactory (router.js:4543)
at RouterConfigLoader.load (router.js:4523)
at MergeMapSubscriber.eval [as project] (router.js:2015)
at MergeMapSubscriber._tryNext (mergeMap.js:128)
at MergeMapSubscriber._next (mergeMap.js:118)
at MergeMapSubscriber.Subscriber.next (Subscriber.js:92)
at resolvePromise (zone.js:809)
at resolvePromise (zone.js:775)
at eval (zone.js:858)
at ZoneDelegate.invokeTask (zone.js:421)
at Object.onInvokeTask (core.js:4740)
at ZoneDelegate.invokeTask (zone.js:420)
at Zone.runTask (zone.js:188)
at drainMicroTaskQueue (zone.js:595)
at ZoneTask.invokeTask [as invoke] (zone.js:500)
at invokeTask (zone.js:1517)
mon fichier de routage ressemble à ceci :
const homeRoutes: Routes = [
{
path: 'home', component: HomeComponent,
children: [
....
{
path: 'admin',
loadChildren: 'app/home/admin/admin.module#AdminModule',
canActivate: [AuthGuardAdmin]
},
]
},
];
@NgModule({
imports: [
CommonModule,
RouterModule.forChild(homeRoutes)
],
exports: [
RouterModule
],
declarations: []
})
export class HomeRoutingModule { }
des suggestions ??
7 réponses
n'importez pas votre module chargé paresseux dans votre application principale.module.ts. Cela provoquera une dépendance circulaire et jettera l'erreur que vous recevez.
j'éprouve le même problème. Ça pourrait être un bug avec l'angular-cli. Je ne sais toujours pas si le bug est dans le cli ou dans notre code! Comme mentionné par Gerrit il est encore possible de compiler avec aot:
ng serve --aot
j'ai également résolu le problème en déclassant mon angular-cli de 1.7.2 1.6.8, qui est la dernière version CLI qui semble fonctionner dans notre cas.
Comme indiqué dans le https://github.com/angular/angular-cli/issues/9488#issuecomment-368871510 il semble que ça fonctionne avec ng serve --aot
j'ai changé l'ordre des importations dans mon app.module.ts
comme mentionné ici
alors vous devez l'avoir par exemple comme ceci:
imports: [
BrowserModule,
FormsModule,
HeroesModule,
AppRoutingModule
]
le plus important est D'avoir D'abord BrowserModule
et à la fin AppRoutingModule
.
j'ai résolu ce problème en mettant à jour mt angulaires-cli localement dans le paquet devDependenices (package.json) à partir de 1.2.01.6.7
faisait face au même problème. Redémarrage du serveur angulaire ng-serve
a fonctionné pour moi.
j'ai eu exactement le même problème mais simplement redémarrer le serveur de noeuds (ng s) a fait l'affaire pour moi.
en règle générale: si angular commence à se comporter bizarrement, essayez d'abord de redémarrer votre serveur de noeuds