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 ??

21
demandé sur firasKoubaa 2018-02-26 18:00:46

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.

26
répondu jetset 2018-04-17 23:59:57

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.

9
répondu Alex Tea 2018-03-06 15:56:05

Comme indiqué dans le https://github.com/angular/angular-cli/issues/9488#issuecomment-368871510 il semble que ça fonctionne avec ng serve --aot

8
répondu Gerrit 2018-03-04 05:28:23

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.

5
répondu Mieszczańczyk S. 2018-05-30 00:11:43

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

2
répondu firasKoubaa 2018-02-28 15:40:32

faisait face au même problème. Redémarrage du serveur angulaire ng-serve a fonctionné pour moi.

2
répondu User0706 2018-04-03 12:40:00

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

0
répondu unkreativ 2018-03-13 13:38:49