最近將angular4項(xiàng)目升級(jí)到angular5之后遇到了一個(gè)問(wèn)題,loadChildren對(duì)應(yīng)的路由都無(wú)法跳轉(zhuǎn)
編譯正常,瀏覽器運(yùn)行報(bào)錯(cuò):
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:13), <anonymous>:19: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:13), <anonymous>:19: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 <anonymous>
代碼:
{
path: 'set',
loadChildren: 'app/setting/setting.module#SettingModule'
},
// setting.module.ts
@NgModule(
{
imports:
[
CommonModule,
FormsModule,
SettingRouteModule,
SystemModule,
PopupModule
],
declarations:
[
SettingComponent,
ScannerHelpComponent
],
exports:
[],
providers:
[],
entryComponents: [
ScannerHelpComponent
]
}
)
export class SettingModule
{
}
// setting.route.module.ts
@NgModule({
imports:
[
RouterModule.forChild([
{
path: 'set',
component: SettingComponent
}
])
]
})
export class SettingRouteModule
{
}
當(dāng)我把loadChildren注釋掉不用懶加載的時(shí)候,路由就可以跳轉(zhuǎn),這是什么問(wèn)題
已經(jīng)解決,在app.module.ts的imports里面刪除進(jìn)行懶加載的模塊
// 懶加載
{
path: 'set',
loadChildren: 'app/setting/setting.module#SettingModule'
},
// app.module.ts
@NgModule({
declarations: [
AppComponent
],
imports: [
FormsModule,
// 非懶加載模塊
PopupModule,
CoreModule,
PipeModule,
RoutesModule,
CashRegisterModule,
// 懶加載模塊
// SettingModule
],
bootstrap: [AppComponent]
})
export class AppModule {}
同時(shí),在setting.route.module.ts里面path寫(xiě)空:
// setting.route.module.t
@NgModule({
imports:
[
RouterModule.forChild([
{
// path: 'set',
path: '',
component: SettingComponent
}
])
],
exports:
[
RouterModule
],
providers:
[]
})
export class SettingRouteModule
{
}
原來(lái)的寫(xiě)法其實(shí)并沒(méi)有實(shí)現(xiàn)懶加載,但是angular4不是出錯(cuò),但是在angular5就會(huì)提示懶加載的錯(cuò)誤
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。