【亲测可用→防止入坑Routes】设置angular10项目异步加载、惰性加载、懒加载路由

简介: 【亲测可用→防止入坑Routes】设置angular10项目异步加载、惰性加载、懒加载路由

创建一个带路由的项目,依次执行下面每行代码

ng n RouingApp --routing
cd RouingApp
ng g c components/first
ng g c components/second
ng g m components/second --routing

代码拷贝:

import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
import {SecondComponent} from "./second.component";
const routes: Routes = [
  {
    path: '',//默认被异步加载该模块的时候自动引入SecondComponent
    component: SecondComponent,
  },
];
@NgModule({
  imports: [RouterModule.forChild(routes)],//注意用于懒加载的模块必须是forChild方式引入
  exports: [RouterModule]
})
export class SecondRoutingModule {
}

代码拷贝:

import {NgModule} from '@angular/core';
import {Routes, RouterModule} from '@angular/router';
import {FirstComponent} from './components/first/first.component';
import {ChildComponent} from './components/first/child/child.component';
import {PageNotFoundComponent} from './components/first/pageNotFound.component';
const routes: Routes = [
  {
    path: '',
    redirectTo: 'first',
    pathMatch: 'full'
  },
  {
    path: 'first',
    component: FirstComponent,//同步加载
    //子路由
    children: [
      {
        path: 'child',
        component: ChildComponent,
      }
    ]
  },
  {
    path: 'second',
    // loadChildren: './components/second/second.module',//异步加载、惰性加载、懒加载(已失效)
    loadChildren: () => import('./components/second/second.module').then(m => m.SecondModule),//异步加载、惰性加载、懒加载
  },
  { 
    path: '**',
    component: PageNotFoundComponent //当输入路由错误的时候跳转到此页面
  }
];
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule {
}

把app.component.html代码改成如下

<button routerLink="/">跳转到first</button>&nbsp;<button [routerLink]="['/']">跳转到first</button>
<br><br>
<button routerLink="/second">跳转到second</button>&nbsp;<button [routerLink]="['/second']">跳转到second</button>
<br><br>
<router-outlet></router-outlet>

运行项目

ng s --open

访问http://localhost:4200就可以了

💡强哥提示:

如不小心创建错了目录要删除,命令是 rd/s/q 路径/文件夹

如果不小心把app-routing.module.ts或app.module.ts这种路由文件删除了,可以用以下命令:

单独添加app路由文件:ng g m app-routing --flat

单独添加app模块文件:ng g m app --flat

添加app路由以及模块文件:ng g m app --routing --flat


相关文章
|
7月前
|
开发者
Angular Schematics 实战 - 项目根目录新建一个文件
Angular Schematics 实战 - 项目根目录新建一个文件
30 0
|
7月前
|
JavaScript
Angular 项目中 angular.json builder 字段的可选项介绍
Angular 项目中 angular.json builder 字段的可选项介绍
45 0
|
10天前
|
C++
【angular】启动项目和路由配置
【angular】启动项目和路由配置
19 1
|
5月前
|
JavaScript
解决vue项目build之后部署到服务器访问的时候出现报错:Uncaught SyntaxError: Unexpected token ‘<‘ chunk-vendors:XXXXXX
解决vue项目build之后部署到服务器访问的时候出现报错:Uncaught SyntaxError: Unexpected token ‘<‘ chunk-vendors:XXXXXX
解决vue项目build之后部署到服务器访问的时候出现报错:Uncaught SyntaxError: Unexpected token ‘<‘ chunk-vendors:XXXXXX
|
25天前
设置Open in Terminal快捷键Alt+Shift+Z,方便angular项目的各种命令输入(多任务状态下)
设置Open in Terminal快捷键Alt+Shift+Z,方便angular项目的各种命令输入(多任务状态下)
|
26天前
|
JavaScript 前端开发 开发工具
Angular 项目中一个 index.d.ts 文件的具体例子介绍
Angular 项目中一个 index.d.ts 文件的具体例子介绍
16 0
|
1月前
|
JavaScript 前端开发 开发者
Angular 项目里 tsconfig.schematics.json 文件的作用
Angular 项目里 tsconfig.schematics.json 文件的作用
9 0
|
8月前
Angular 项目中导入 styles 文件到 Component 中的一些技巧
Angular 项目中导入 styles 文件到 Component 中的一些技巧
40 0
|
4月前
|
存储 搜索推荐 API
通过项目中的实际例子,介绍 LocalStorage 在 Angular 开发中的使用场景
通过项目中的实际例子,介绍 LocalStorage 在 Angular 开发中的使用场景
39 0
|
5月前
|
应用服务中间件 nginx
Angular打包构建项目服务器运行runtime.js、polyfills.js、vendor.js报错net::ERR_ABORTED 404 (Not Found),build修改为相对路径./
Angular打包构建项目服务器运行runtime.js、polyfills.js、vendor.js报错net::ERR_ABORTED 404 (Not Found),build修改为相对路径./

热门文章

最新文章