這篇文章主要介紹了Angular2中模塊懶加載的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
10年積累的成都做網(wǎng)站、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有坪山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
當(dāng)項(xiàng)目變得復(fù)雜龐大以后,如果所有頁面都在一個(gè)模塊里,就會出現(xiàn)首頁加載慢的問題,因?yàn)槭醉摼鸵呀?jīng)把整個(gè)項(xiàng)目加載進(jìn)來了。所以,很有必要根據(jù)業(yè)務(wù)將不同的功能分模塊,以便Angular2按需加載,提升用戶體驗(yàn)。
下面的例子是將首頁放到home模塊里,訪問/home時(shí)加載home模塊內(nèi)容,僅供學(xué)習(xí)懶加載,其實(shí)首頁訪問路徑應(yīng)該是/
先看項(xiàng)目文件結(jié)構(gòu):
home模塊放到src/app/home目錄下,里面的home目錄是home組件。
home模塊有單獨(dú)的定義和路由(home.module.ts,home-routing.module.ts)
創(chuàng)建HOME模塊和HOME組件:
cd src/app/ mkdir home cd home ng g module home ng g component home
創(chuàng)建HOME模塊的路由配置模塊
創(chuàng)建 home-routing.module.ts:
import {Routes, RouterModule} from "@angular/router"; import {HomeComponent} from "./home/home.component"; import {NgModule} from "@angular/core"; const routes: Routes=[ { path:'', component:HomeComponent } ] @NgModule({ imports:[RouterModule.forChild(routes)], exports:[RouterModule], providers:[] }) export class HomeRoutingModule{}
模塊下的頁面都可以單獨(dú)在該模塊自己的的路由配置模塊上配置,而不用在app-routing.module.ts里配置,注意RouterModule.forChild(routes)
home.module.ts導(dǎo)入路由模塊:
import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { HomeComponent } from './home/home.component'; import {HomeRoutingModule} from "./home-routing.module"; @NgModule({ imports: [ CommonModule, HomeRoutingModule ], declarations: [HomeComponent] }) export class HomeModule { }
在app-routing.module.ts配置路由:
import {NgModule} from "@angular/core"; import {Routes, RouterModule} from "@angular/router"; import {UserListComponent} from "./user/user-list/user-list.component"; import {UserDetailComponent} from "./user/user-detail/user-detail.component"; import {RxjsComponent} from "./rxjs/rxjs.component"; import {UserEditComponent} from "./user/user-edit/user-edit.component"; import {environment} from "../environments/environment"; const routes: Routes = [ { path:'home', loadChildren:'app/home/home.module#HomeModule' } ]; @NgModule({ imports: [RouterModule.forRoot(routes,{ useHash: environment.useHash })], exports: [RouterModule], providers: [] }) export class AppRoutingModule { }
配置home路徑,使用loadChildren加載home模塊
完成后打開chrome的開發(fā)者工具,切到Network,看看不同的頁面是不是加載了不同的文件。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Angular2中模塊懶加載的示例分析”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!