基于 Web Components 的 Angular 模块化应用架构

介绍一个 Angular 应用框架,该框架使用 Web Components 来构建模块化的应用程序。

技术栈:

  • Angular 9
  • Web Components
  • ngx-build-plus (用于 Web Components 的 JS 打包)

架构概述:

该应用框架包含一个主应用(Portal)和多个子模块/客户端(例如,Client-A,Client-B)。每个子模块/客户端都被构建为一个独立的 Web Component,并通过路由机制加载到主应用中。

关键特性:

  • 非 Monorepo 结构
  • 主应用和每个 Web Component 模块都拥有独立的路由出口
  • 使用 routerLink 进行导航
  • 支持简洁的 URL 路径(不使用哈希路由)

项目结构:

- portal/
- client-a/
- client-b/

本地运行:

# 分别在三个终端中运行
cd portal && npm install && ./portal.sh 
cd client-a && npm install && ./client-a.sh 
cd client-b && npm install && ./client-b.sh 

注意:

项目未使用 src/app 作为根目录,而是使用 src/portal, src/client-a, src/client-b 等,以避免 Webpack 在构建过程中出现类名冲突。

zip 文件大小:375.69KB