本篇文章跟大家介紹一下Angular中的模組(NgModule),延遲載入模組。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
環境:
- Angular CLI: 11.0.6
- Angular: 11.0.7
- Node: 12.18.3
- npm : 6.14.6
- IDE: Visual Studio Code
angular教學》】
#模組(NgModule)的主要作用: 這樣,angular網站啟動後,會以這個模組為入口,根據配置載入各個模組。
@NgModule({ declarations: [ AppComponent, MyComponentComponent ], imports: [ BrowserModule, AppRoutingModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
ng generate module <name> [options]
詳情請參考https://angular.io/cli/generate#module。
幾個簡單的範例:
ng generate module xxx4. 延遲載入模組可以簡寫為
ng g m xxx
举例来说,上文创建了3个模块,主程序模块以及feature1、feature2会被打成一个包(js),feature3会被单独打一个包(js),当用户访问/feature3/* 的地址后,才会加载feature3这个包(js),否则永远不会请求、加载feature3的模块,从而提高性能(首页加载时间)。当一个项目大到一定程度时,最好考虑把某些模块设置为延迟加载模块。
延迟加载的路由定义(angular CLI会自动生成):
// src/app/app-routing.module.ts import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; const routes: Routes = [ { path: 'feature3', loadChildren: () => import('./feature3/feature3.module').then((m) => m.Feature3Module), }, ]; @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule], }) export class AppRoutingModule {}
最后复习一下生成延迟加载模块的命令ng generate module feature3 --route feature3 --module app.module
,或者简写为 ng g m feature3 --route feature3 --module app.module
。
Angular项目,就是模块(NgModule)的一个集合,任组件、服务等必须包含在一个模块中。
延迟加载模块用于提高首页加载性能。
Angular CLI命令,生成模块。
更多编程相关知识,请访问:编程视频!!
以上是淺談Angular中的模組(NgModule),延遲載入模組的詳細內容。更多資訊請關注PHP中文網其他相關文章!