代码之家  ›  专栏  ›  技术社区  ›  Alex Dunlop

角6重定向到主页时,页面重定向但不加载

  •  1
  • Alex Dunlop  · 技术社区  · 8 年前

    我是新来的角,我有一个很大的项目,我刚从 HTML/CSS/PHP/JS格式 到 细枝/细枝 该项目正在使用 Apache2/SQL 但现在我要主持这个项目 S3桶/lambda API .

    我已经创建了一些基本的项目,并将其转换为角度的,没有任何问题,但是现在我正在转换这些更大的项目,所以我需要使用模块将项目拆分很多。因此,奇怪的路径(我不确定这是否是最好的方法,但我已经更新了很多)。

    但是有了这个更大的项目,当我从一个无效的URL被重定向时,我会被重定向到 localhost:4200 但是页面没有加载,我得到一个错误:

    错误开始-->

    core.js:1624 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:32) at

    错误结束-->

    defaultErrorLogger @ core.js:1624

    这个错误看起来像代码一样有点变化,但它与 TypeError: undefined is not a function

    现在我的问题是:

    1。为什么会发生此错误以及如何修复此错误?

    2。如果我不能修复它,有一种方法可以让页面在重定向的初始加载之后重新加载

    任何帮助都非常感谢, 干杯!

    (这也是我的代码!)

    应用模块.ts

    import { NgModule }     from '@angular/core'; // <-- Import module object
    import { AppComponent } from './app.component'; // <-- Main entry point/view
    import { RouterModule } from '@angular/router'; // <-- Routing for root
    import { routes }       from './app.routes'; // <-- Main router
    // | External modules |
    import { BrowserModule } from '@angular/platform-browser'; // <-- TODO: Look into what this is for
    // | Internal modules |
    import { AdminModule }  from './modules/admin/admin.module';
    import { HeroesModule } from './modules/heros/heroes.module';
    import { HomeModule }   from './modules/home/home.module';
    import { TodoModule }   from './modules/todo/todo.module';
    
    // | Provider services |
    import { UserService } from './user.service';
    import { Logger }      from './logger.service';
    
    @NgModule({
      declarations: [ AppComponent ], // <-- Main entry point
      imports: [
        RouterModule.forRoot(routes), // <-- Main router
        BrowserModule, // <-- TODO: Look into what this is for
        AdminModule, HeroesModule, HomeModule, TodoModule // <-- Internal modules
      ],
      providers: [ Logger, UserService ],
      bootstrap: [ AppComponent ],
    })
    export class AppModule { } // <-- Export module class
    

    应用程序路由.ts

    import { Routes } from '@angular/router'; // <-- Import routing
    // This redirects all routing to module routers.
    export const routes: Routes = [
      { path: '', loadChildren: './modules/admin/admin.module#AdminModule' },
      { path: '', loadChildren: './modules/heros/heroes.module#HeroesModule' },
      { path: '', loadChildren: './modules/home/home.module#HomeModule' },
      { path: '', loadChildren: './modules/todo/todo.module#TodoModule' },
    ]
    // This redirects all routing to module routers.
    

    主页.module.ts

    import { NgModule }     from '@angular/core'; // <-- Import module object
    import { CommonModule } from '@angular/common'; // <-- Declaring this module will be used often
    import { RouterModule, Routes } from '@angular/router';
    
    // | Internal components |
    import { HomeComponent } from './home.component'; // <-- Main entry point
    
    const childRoutes: Routes = [
        { path: '', component: HomeComponent } // <-- Main entry point
    ];
    
    @NgModule({
      declarations: [
        HomeComponent, // <-- Main entry point
      ],
      imports: [
        CommonModule,
        RouterModule.forChild(childRoutes),
      ],
      providers: []
    })
    export class HomeModule { } // <-- Export module class
    

    这些组件是基本生成的组件, <h1>It works</h1>

    2 回复  |  直到 8 年前
        1
  •  1
  •   Abhishek Jaiswal    8 年前
    //Put this path at the end in routes
           {
             path: '**',
             redirectTo: '/home'
           }
    

    '**' /home

        2
  •  1
  •   Abhishek Jaiswal    8 年前
     const routes: Routes = [
    
      {
       path: '',
       redirectTo: '/home',
       pathMatch: 'full'
    
       },
    
    
       {
       path: '',
       component: HomeModule,
       children: [
         {
            path: 'admin',
            loadChildren: './admin/admin.module#AdminModule'
         },
          {
            path: 'hero',
            loadChildren: './heros.module#HeroesModule'
           },
         ]      
       }
     ];