项目目录

创建模块

  1. ng g module module/user --routing
  2. ng g module module/article --routing
  3. ng g module module/product --routing

创建组件

  1. ng g component module/user
  2. ng g component module/user/components/profile
  3. ng g component module/user/components/order
  4. ng g component module/article
  5. ng g component module/article/components/articlelist
  6. ng g component module/article/components/info
  7. ng g component module/product
  8. ng g component module/product/components/plist
  9. ng g component module/product/components/pinfo

1.app.module.ts

  1. import { BrowserModule } from '@angular/platform-browser';
  2. import { NgModule } from '@angular/core';
  3.  
  4. import { AppRoutingModule } from './app-routing.module';
  5. import { AppComponent } from './app.component';
  6.  
  7. @NgModule({
  8. declarations: [
  9. AppComponent
  10. ],
  11. imports: [
  12. BrowserModule,
  13. AppRoutingModule
  14. ],
  15. providers: [],
  16. bootstrap: [AppComponent]
  17. })
  18. export class AppModule { }

app.component.html

  1. <header>
  2. <a [routerLink]="['/user']">用户模块</a>
  3. <a [routerLink]="['/article']">文章模块</a>
  4. <a [routerLink]="['/product']">商品模块</a>
  5. </header>
  6. <router-outlet></router-outlet>

app-routing.module.ts

  1. import { NgModule } from '@angular/core';
  2. import { Routes, RouterModule } from '@angular/router';
  3.  
  4. const routes: Routes = [
  5. {
  6.  
  7. path:'user',loadChildren:'./module/user/user.module#UserModule'
  8. },
  9. {
  10.  
  11. path:'article',loadChildren:'./module/article/article.module#ArticleModule'
  12. },
  13. {
  14.  
  15. path:'product',loadChildren:'./module/product/product.module#ProductModule'
  16. },
  17.  
  18. {
  19.  
  20. path:'**',redirectTo:'user'
  21. }
  22.  
  23. ];
  24.  
  25. @NgModule({
  26. imports: [RouterModule.forRoot(routes)],
  27. exports: [RouterModule]
  28. })
  29. export class AppRoutingModule { }

用户模块user.module.ts

  1. import { NgModule } from '@angular/core';
  2. import { CommonModule } from '@angular/common';
  3.  
  4. import { UserRoutingModule } from './user-routing.module';
  5. import { UserComponent } from './user.component';
  6. import { ProfileComponent } from './components/profile/profile.component';
  7. import { AddressComponent } from './components/address/address.component';
  8.  
  9. @NgModule({
  10. declarations: [UserComponent, ProfileComponent, AddressComponent],
  11. imports: [
  12. CommonModule,
  13. UserRoutingModule
  14. ]
  15. })
  16. export class UserModule { }

 user-routing-module.ts

  1. import { NgModule } from '@angular/core';
  2. import { Routes, RouterModule } from '@angular/router';
  3.  
  4. import { UserComponent } from './user.component';
  5.  
  6. import { ProfileComponent } from './components/profile/profile.component';
  7. import { AddressComponent } from './components/address/address.component';
  8.  
  9. const routes: Routes = [
  10. {
  11. path:'',component:UserComponent
  12. },
  13. {
  14. path:'profile',component:ProfileComponent
  15. },
  16. {
  17. path:'address',component:AddressComponent
  18. }
  19. ];
  20.  
  21. @NgModule({
  22. imports: [RouterModule.forChild(routes)],
  23. exports: [RouterModule]
  24. })
  25. export class UserRoutingModule { }

其他模块类似配置

自定义模块的父子路由

  1. import { NgModule } from '@angular/core';
  2. import { Routes, RouterModule } from '@angular/router';
  3.  
  4. import { ProductComponent } from './product.component';
  5.  
  6. import { PlistComponent } from './components/plist/plist.component';
  7. import { CartComponent } from './components/cart/cart.component';
  8. import { PcontentComponent } from './components/pcontent/pcontent.component';
  9.  
  10. const routes: Routes = [
  11.  
  12. {
  13.  
  14. path:'',component:ProductComponent,
  15. children:[
  16. {path:'cart',component:CartComponent},
  17. {path:'pcontent',component:PcontentComponent}
  18. ]
  19.  
  20. },
  21.  
  22. {path:'plist',component:PlistComponent}
  23. ];
  24.  
  25. @NgModule({
  26. imports: [RouterModule.forChild(routes)],
  27. exports: [RouterModule]
  28. })
  29. export class ProductRoutingModule { }

Angular 自定义模块以及配置路由实现模块懒加载的更多相关文章

  1. angular配置懒加载路由的思路

    前言 本人记性不好,对于别人很容易记住的事情,我愣是记不住,所以还是靠烂笔头来帮我长长记性. 参考文章:https://blog.csdn.net/xif3681/article/details/84 ...

  2. Angular性能优化实践——巧用第三方组件和懒加载技术

    应该有很多人都抱怨过 Angular 应用的性能问题.其实,在搭建Angular项目时,通过使用打包.懒加载.变化检测策略和缓存技术,再辅助第三方组件,便可有效提升项目性能. 为了帮助开发者深入理解和 ...

  3. vue-cli 项目实现路由懒加载

    在vue 单页应用中,如果路由不实现懒加载,那么打包出来的文件将会非常大,加载也会非常慢.vue-router 官网也有相应的介绍,但是具体怎么去实现还是讲的比较模糊的,下面将一步步讲解配置路由懒加载 ...

  4. vue路由懒加载

    大项目中,为了提高初始化页面的效率,路由一般使用懒加载模式,一共三种实现方式.(1)第一种写法: component: (resolve) => require(['@/components/O ...

  5. vue2.x 路由懒加载 优化打包体积

    当打包构建应用时,Javascript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了. 结合 Vue 的异步组 ...

  6. vue+webpack2实现路由的懒加载

    当打包构建应用时,Javascript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了. 结合 Vue 的异步组 ...

  7. 「Vue.js」Vue-Router + Webpack 路由懒加载实现

    一.前言 当打包构建应用时,Javascript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了.结合 Vue ...

  8. 路由懒加载---Vue Router

    一.什么是懒加载? 懒加载也就是延迟加载或者按需加载,即在需要的时候进行加载. 二.为什么在Vue路由中使用懒加载? 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常 ...

  9. 18-Angular 自定义模块以及配置路由模块懒加载

    新建项目,新建几个子模块,实现懒加载 用户.商品.文章 新建这三个模块 创建模块的时候后面加 --routing.会自动生成模块的路由文件 先删掉. 重新创建模块带routing 这样就会生成两个文件 ...

随机推荐

  1. git命令——revert、reset

    参考:如何在 Git 中重置.恢复,返回到以前的状态 使用git时,如果对刚刚提交的后悔了怎么办,如何撤销? 方法一:手动修改 你把新增的文件删了 或者 更改过的文件再改回来,然后再commit一次. ...

  2. MySQL分布式数据库架构:分库、分表、排序、分页、分组、实现教程

    MySQL分库分表总结: 单库单表 : 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到. 单库多表 : 随着用户数量的增加, ...

  3. 使用Wireshark对手机抓包设置说明

    一.原因 1.手机目前没有类似的抓包工具可以直接对手机进行抓包 2.一般数据交换的路线是:手机——>运营商——>服务器,可以在手机和运营商中间加一道网卡变成:手机——>PC网卡——& ...

  4. Session&Cookie&localStorage浅谈

    Session&Cookie&localStorage 领导让我开发一个有两张信息表单需要提交页面的网站,我作为一名开发人员,这个需求太简单了,和领导说直接存session sessi ...

  5. Selenium常用API的使用java语言之1-环境安装之Java

    (一)环境安装之Java 1.安装java 点击 JDK8下载,根据自己的平台,选择相应的版本进行下载. 小知识: Java环境分JDK和JRE ,JDK就是Java Development Kit. ...

  6. Scrapy框架的八个扩展

    一.proxies代理 首先需要在环境变量中设置 from scrapy.contrib.downloadermiddleware.httpproxy import HttpProxyMiddlewa ...

  7. c++两种字符串赋值方式 并介绍 C语言下遍历目录文件的方式

    c++字符串声明:一种是声明字符数组并赋值,另一种是直接声明string类 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #incl ...

  8. HttpReader

    头文件: #pragma once #include <afxinet.h> class CSF_HttpDataReader { public: CSF_HttpDataReader(v ...

  9. input 限制输入数字和小数

    //input 限制输入数字和小数 <input type="text" name="demo" value="" onkeyup=& ...

  10. 普通的java Ftp客户端的文件上传

    关于ftp上传文件其实并不难,但有时候面对现实的环境还是很蛋疼的,今天我就分享一下,普通的上传文件文件至FTP的方式,它满足大部分FTP,但也有特别的,下篇博客会提及到. 下面我用一个FtpUtil, ...