CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Angular 路线图实战/课时/NgModule 与库
RawBlame
课时目录12 节

Angular 路线图实战

  1. 01Angular 入门与 CLI
  2. 02组件与生命周期
  3. 03模板与数据绑定
  4. 04指令与管道
  5. 05表单
  6. 06服务与依赖注入
  7. 07HttpClient 与安全
  8. 08Router 与懒加载
  9. 09RxJS 与 Signals
  10. 10SSR、测试与 i18n
  11. 11NgModule 与库
  12. 12综合练习

NgModule 与库

Feature Module、Lazy Loading、Libraries。

25 分钟

NgModule 与库

路线图「Modules & Libraries」:Angular 17+ Standalone 为默认,但存量项目大量使用 NgModule;读懂 FeatureModule、共享模块与 Angular Libraries(ng generate library)是维护企业代码的必备技能。

学习目标

  • 理解 NgModule 的 declarations、imports、providers
  • 对比 Standalone 与 NgModule 组织方式
  • 了解 Feature Module 懒加载与发布内部库

核心概念

NgModule 结构(存量常见)

import { NgModule } from "@angular/core";
import { CommonModule } from "@angular/common";
import { TrackListComponent } from "./track-list.component";
import { TrackRoutingModule } from "./track-routing.module";

@NgModule({
  declarations: [TrackListComponent],
  imports: [CommonModule, TrackRoutingModule],
  providers: [TrackService],
})
export class TrackModule {}

路由懒加载旧写法:loadChildren: () => import('./track/track.module').then(m => m.TrackModule)。新写法优先 loadComponent + Standalone。

Standalone 迁移

@Component({
  selector: "app-track-list",
  standalone: true,
  imports: [CommonModule, RouterLink],
  template: `<!-- ... -->`,
})
export class TrackListComponent {}

Standalone 组件自行 imports,无需 NgModule 包装;新功能建议 Standalone,渐进迁移旧模块。

内部库

ng generate library shared-ui

库导出组件/服务/管道,供多个应用复用——类似 monorepo 中的内部 npm 包。Angular Material、NG-ZORRO 均以模块或 Standalone 组件形式提供。

与 React/Next 对照

AngularReact / Next.js
NgModule无直接对应(文件夹划分)
Feature Module路由级 code-split
ng generate libraryworkspace package / Turborepo
Standalone函数组件 + 直接 import

练习

  • 打开一个 Angular 15 示例仓库,找出 AppModule 与 Feature Module
  • 将一个小组件改写为 Standalone 并直接
bootstrapApplication

小结

新代码 Standalone,读旧代码要懂 NgModule 与懒加载模块。 下一课综合练习。

加载本节练习…
← 上一课SSR、测试与 i18n下一课 →综合练习