ошибка в модульном модульном модуле angular6. Ошибка типа: ошибка не определена. - PullRequest
0 голосов
/ 09 мая 2018

У меня есть этот код в app-routing.module.ts, В соответствии с новой документацией в angular, я прошел метод, но он все еще не работает, из-за некоторых ошибок я не могу понять.

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule, Routes } from "@angular/router";
import { HomeComponent } from "./home/home.component";
import { AdminModule } from "./admin/admin.module";

const routes: Routes = [
  {
    path: 'admin',
    loadChildren: './admin/admin.module#AdminModule'
  },
  { path: '', redirectTo: '/home', pathMatch: 'full' },
  { path: 'home', component: HomeComponent },
];

@NgModule({
  imports: [
    CommonModule,
    RouterModule.forRoot(routes)
  ],
  exports: [
    RouterModule
  ],
  declarations: []
 })
 export class AppRoutingModule { }

Выдает такую ​​ошибку.

Я также попробовал старый способ загрузки детей, как этот 'app/admin/admin.module#AdminModule'. Но это все еще не работает.

core.js:1601 ERROR Error: Uncaught (in promise): TypeError: undefined is not a function
TypeError: undefined is not a function
    at Array.map (<anonymous>)
    at webpackAsyncContext ($_lazy_route_resource lazy namespace object:18)
    at SystemJsNgModuleLoader.push../node_modules/@angular/core/fesm5/core.js.SystemJsNgModuleLoader.loadAndCompile (core.js:5569)
    at SystemJsNgModuleLoader.push../node_modules/@angular/core/fesm5/core.js.SystemJsNgModuleLoader.load (core.js:5561)
    at RouterConfigLoader.push../node_modules/@angular/router/fesm5/router.js.RouterConfigLoader.loadModuleFactory (router.js:3294)
    at RouterConfigLoader.push../node_modules/@angular/router/fesm5/router.js.RouterConfigLoader.load (router.js:3282)
    at MergeMapSubscriber.project (router.js:1479)
    at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._tryNext (mergeMap.js:117)
    at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._next (mergeMap.js:107)
    at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (Subscriber.js:93)
    at Array.map (<anonymous>)
    at webpackAsyncContext ($_lazy_route_resource lazy namespace object:18)
    at SystemJsNgModuleLoader.push../node_modules/@angular/core/fesm5/core.js.SystemJsNgModuleLoader.loadAndCompile (core.js:5569)
    at SystemJsNgModuleLoader.push../node_modules/@angular/core/fesm5/core.js.SystemJsNgModuleLoader.load (core.js:5561)
    at RouterConfigLoader.push../node_modules/@angular/router/fesm5/router.js.RouterConfigLoader.loadModuleFactory (router.js:3294)
    at RouterConfigLoader.push../node_modules/@angular/router/fesm5/router.js.RouterConfigLoader.load (router.js:3282)
    at MergeMapSubscriber.project (router.js:1479)
    at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._tryNext (mergeMap.js:117)
    at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._next (mergeMap.js:107)
    at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (Subscriber.js:93)
    at resolvePromise (zone.js:814)
    at resolvePromise (zone.js:771)
    at zone.js:873
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
    at Object.onInvokeTask (core.js:4062)
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)
    at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)
    at drainMicroTaskQueue (zone.js:595)
    at ZoneTask.push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (zone.js:500)
    at invokeTask (zone.js:1540)

Ответы [ 5 ]

0 голосов
/ 27 декабря 2018

Я также сталкивался с той же проблемой при использовании Angular-7 и Angular CLI: 7.1.3 и пытался найти какое-то решение. Для меня это решено удалением оператора импорта лениво загруженного модуля из файла app.module.

// remove this from app.module and app-routing.module file and it will work fine
import { AdminModule } from "./admin/admin.module";

Конфигурация моего проекта для справки

0 голосов
/ 30 сентября 2018

Я столкнулся с той же проблемой, решил ее так: -

  1. run => ng serve --aot
  2. Удален модуль из импорта корневого модуля, потому что я уже использовал модуль в маршрутизации в секции loadChildren .

Используя оба способа, я смог запустить приложение. Итак, вы можете попробовать любой из них.

0 голосов
/ 30 июля 2018

У меня была такая же проблема, причина была в том, что я импортировал лениво загруженный модуль в модуль приложения.

0 голосов
/ 01 августа 2018

Эта ошибка срабатывает после некоторой перекомпиляции, когда работает ng serve, и после этого она отображается всегда. Перезапуск ng serve - эта проблема решена.

Внимание!

Использование loadChildren в качестве функции - это Не отложенная загрузка:

{path: 'admin', loadChildren:() => AdminModule } //not lazy loading

потому что вам нужно импортировать ленивый модуль в модуль маршрутизации.

Для отложенной загрузки необходимо отправить путь к отложенному модулю - String !

{path: 'admin', loadChildren:'app/admin/admin.module#AdminModule'} // This is lazy loading
0 голосов
/ 09 июля 2018
{path: 'admin', loadChildren:() => AdminModule }

попробуй это. это решение проблемы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...