全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

浅谈Angular2 模块懒加载的方法

当项目变得复杂庞大以后,如果所有页面都在一个模块里,就会出现首页加载慢的问题,因为首页就已经把整个项目加载进来了。所以,很有必要根据业务将不同的功能分模块,以便Angular2按需加载,提升用户体验。

下面的例子是将首页放到home模块里,访问/home时加载home模块内容,仅供学习懒加载,其实首页访问路径应该是/

先看项目文件结构:

home模块放到src/app/home目录下,里面的home目录是home组件。

home模块有单独的定义和路由(home.module.ts,home-routing.module.ts)

创建HOME模块和HOME组件:

cd src/app/
mkdir home
cd home
ng g module home
ng g component home

创建HOME模块的路由配置模块

创建 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{}

模块下的页面都可以单独在该模块自己的的路由配置模块上配置,而不用在app-routing.module.ts里配置,注意RouterModule.forChild(routes)

home.module.ts导入路由模块:

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的开发者工具,切到Network,看看不同的页面是不是加载了不同的文件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Angular  # 模块懒加载  # Angular2  # Angular懒加载动态创建显示该模块下声明的组件  # 基于angular6.0实现的一个组件懒加载功能示例  # angular实现图片懒加载实例代码  # Angular懒加载机制刷新后无法回退的快速解决方法  # 浅谈angular懒加载的一些坑  # 在Angular中实现懒加载的示例代码  # 加载  # 首页  # 自己的  # 就会  # 都在  # 很有  # 仅供  # 而不  # 用在  # 进来了  # 先看  # 大家多多  # 按需  # 应该是  # 完成后  # 目录下  # class  # HOME  # ts  # module 


相关文章: 如何在建站宝盒中设置产品搜索功能?  魔方云NAT建站如何实现端口转发?  手机网站制作与建设方案,手机网站如何建设?  建站上传速度慢?如何优化加速网站加载效率?  建站主机解析:虚拟主机配置与服务器选择指南  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  如何在橙子建站上传落地页?操作指南详解  如何快速配置高效服务器建站软件?  如何注册花生壳免费域名并搭建个人网站?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星后台密码遗忘如何找回?  建站之星展会模板:智能建站与自助搭建高效解决方案  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  建站主机类型有哪些?如何正确选型  如何在云主机快速搭建网站站点?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  如何获取上海专业网站定制建站电话?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何批量查询域名的建站时间记录?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  建站OpenVZ教程与优化策略:配置指南与性能提升  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  教学论文网站制作软件有哪些,写论文用什么软件 ?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  如何获取PHP WAP自助建站系统源码?  清除minerd进程的简单方法  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何用好域名打造高点击率的自主建站?  建站之星后台管理系统如何操作?  香港网站服务器数量如何影响SEO优化效果?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  如何确认建站备案号应放置的具体位置?  ,巨量百应是干嘛的?  建站之星免费模板:自助建站系统与智能响应式一键生成  如何快速选择适合个人网站的云服务器配置?  如何在Ubuntu系统下快速搭建WordPress个人网站?  如何在阿里云通过域名搭建网站?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  建站主机默认首页配置指南:核心功能与访问路径优化  北京建设网站制作公司,北京古代建筑博物馆预约官网?  如何选购建站域名与空间?自助平台全解析  如何在万网开始建站?分步指南解析  建站VPS配置与SEO优化指南:关键词排名提升策略  制作网站外包平台,自动化接单网站有哪些?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。