美文网首页
Angular---模块懒加载

Angular---模块懒加载

作者: BigDipper | 来源:发表于2019-04-28 01:49 被阅读0次

随着项目的增长,我们的应用尺寸也随之增长。在某一个时间点,我们有可能达到顶点,应用将会需要过多的时间来加载。

为解决这个问题,我们可以使用异步路由(也就是模块懒加载)技术,获得在请求时才惰性加载特性模块的能力。

模块懒加载有多个优点:

  • 你可以只在用户请求时才加载某些特性区。
  • 对于那些只访问应用程序某些区域的用户,这样能加快加载速度。
  • 你可以持续扩充惰性加载特性区的功能,而不用增加初始加载的包体积。

举例来说,我们有一个user模块,我们要将它变为懒加载的模块,可以这样来实现:

  • app-routing.module.ts中引入user模块:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './home/home.component';

const routes: Routes = [{
  path: '',
  component: HomeComponent,
  pathMatch: 'full'
}, {
  path: 'user',
  loadChildren: './user/user.module#UserModule'
}];

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

我们使用loadChildren属性来设置user模块的地址。 该地址是use模块的文件路径(相对于app目录的),加上一个#分隔符,再加上导出模块的类名UserModule

  • 修改user模块中的user-routing.module.ts文件,将path属性的值设置为空:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { OccupySeatComponent } from './occupy-seat/occupy-seat.component';
import { MyreservationComponent } from './myreservation/myreservation.component';

const routes: Routes = [{
  path: '',
  component: HomeComponent,
  children: [{
    path: 'reservation',
    component: OccupySeatComponent
  }, {
    path: 'myReservation',
    component: MyreservationComponent
  }]
}];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class UserRoutingModule { }

这样User模块就是一个懒加载的模块了。

官方还给了一个查看是否懒加载的步骤:就是打开network看你跳页的时候是否加载了chunk文件。

相关文章

  • Angular---模块懒加载

    随着项目的增长,我们的应用尺寸也随之增长。在某一个时间点,我们有可能达到顶点,应用将会需要过多的时间来加载。 为解...

  • webpack打包代码实现

    webpack模块加载 异步模块加载 通过 import()实现指定模块的懒加载操作 懒加载的核心原理就是创建js...

  • ionic页面跳转

    非懒加载: import{模块}from'相对路径'; this.navCtrl.push(模块); 懒加载 在c...

  • 用webpack实现模块懒加载、预取/预加载

    模块懒加载本身与webpack没有关系,webpack可以让懒加载的模块代码打包到单独的文件中,实现真正的按需加载...

  • 模块懒加载

    痛点 首屏加载缓慢,目前的体积包过于庞大 解决思路 通过webpack-bundle-analyzer进行体积分析...

  • Angular——模块懒加载

    惰性加载可以通过把应用拆分成多个发布包,并按需加载它们,来加速应用的启动时间。 主模块 home.module.t...

  • Angular 6 的预加载与懒加载

    angular的文件越来越大,导致用户体验差,使用预加载与懒加载 懒加载场景: 应用在启动时,某些模块不需要,就可...

  • 基于Vue的懒加载图片,懒加载模块

    懒加载在日常工作中是相当的常用的,这里介绍一个简单的会用方法,原理就不赘述了,网上有很多经验和demo,也方便自己...

  • ios启动优化

    1,main后,首页用纯代码写,因为加载静态资源费时。didfinishlanuching里的模块尽量用懒加载模式...

  • vue项目部署优化路由懒加载

    前戏 为什么需要懒加载? 对于vue这种spa,首次加载的模块/组件太多,导致响应时间太长,造成白屏。即使添加lo...

网友评论

      本文标题:Angular---模块懒加载

      本文链接:https://www.haomeiwen.com/subject/rmkrnqtx.html