无法在Angular2中延迟加载模块(RC-6)
问题描述:
我正试图在我的示例angular2应用程序中实现延迟加载功能模块。无法在Angular2中延迟加载模块(RC-6)
我的应用程序有一个根模块和两个功能模块。
和路由根模块的路径文件是功能模块的
app/public/scripts/app.module.ts
app/public/scripts/app.routing.ts
路径,并将它的路由为此,我要实现延迟加载是
app/public/scripts/modules/user/app.user.module.ts
app/public/scripts/modules/user/app.user.routing.ts
下面是app.routing.ts代码
'use strict';
import {Routes , RouterModule } from '@angular/router';
import { ModuleWithProviders } from '@angular/core';
const appRoutes : Routes = [
{path: 'ausers' , loadChildren: 'scripts/modules/user/app.users.module#UsersModule' }
];
export const appRoutingProviders: any[] = [];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
下面是app.user.routing.ts代码
'use strict';
import { ModuleWithProviders } from '@angular/core';
import { Routes , RouterModule } from '@angular/router';
//-- import components , directives and pipes
import { AppUsersComponent } from './app.users.component';
const UserRoutes :Routes = [
{path: 'ausers/showusers' , component: AppUsersComponent }
]
export const userRouting: ModuleWithProviers = RouterModule.forChild(UserRoutes);
当用户点击下面联系在应用
routerLink = “ausers/showusers”
它显示以下错误
Failed to parse SourceMap: http://localhost:3000/scripts/BehaviorSubject.js.map Angular 2 is running in the development mode. Call >enableProdMode() to enable the production mode. EXCEPTION: Uncaught (in promise): Error: SyntaxError: Unexpected >token < Evaluating http://localhost:3000/scripts/modules/user/app.users.module Error loading http://localhost:3000/scripts/modules/user/app.users.module
我使用加载模块和捆扎的WebPack。
任何想法可能是这个错误的原因是什么?
答
你需要指定src/
相对模块的路径:
{path: 'ausers' , loadChildren: 'app/public/scripts/modules/user/app.users.module#UsersModule' }
也懒加载是车用的WebPack上RC6,其固定在#11837和RC7。
那是唯一的错误消息?无论如何..子路线是相对的..所以请将您的子路线从'ausers/showusers'改为'showusers'。 – mxii
更改路径没有帮助,更新了有关错误 – refactor
@ j2L4e的更多信息,您在此链接中提供的解决方案正常工作。 – refactor