Skip to content

教程总览 ​

本系列教程基于 ng-mfe 仓库 examples/ 目录下的真实可运行示例编写,共 15 篇,覆盖从启动 Portal、五个框架的子应用接入,到通信、状态、HTTP、认证、缓存、组件复用、地图、权限、主题国际化的完整实战。所有示例代码均节选或改写自仓库源码。

学习路线图 ​

全部教程 ​

编号教程难度前置
01启动 Portal入门无
02创建第一个子应用入门01
03Angular 子应用接入进阶02
04Vue 子应用接入进阶02
05React 子应用接入进阶02
06Web Component 子应用进阶02
07跨应用通信核心02
08共享状态核心07
09HTTP 与 Mock核心02
10认证与登录态核心08、09
11多级缓存核心09
12跨应用组件复用进阶07
13地图集成进阶08、14
14权限控制核心10
15主题与国际化进阶08

框架接入能力矩阵 ​

下表列出各框架子应用消费 Portal 共享服务的真实 API(均来自 @ng-mfe/adapters 与 MfeBootstrapContext):

能力AngularVueReactWeb Component / 纯 JS
适配器包@ng-mfe/adapters/angular@ng-mfe/adapters/vue@ng-mfe/adapters/react无需适配器,直接消费 ctx.*
应用定义defineMfeAngularAppdefineMfeVueAppdefineMfeReactAppdefineMfeApp(core)
服务注入createMfeProviders(InjectionToken)createMfeVuePlugin(provide/inject)buildContextValue + MFEProvider(Context)闭包变量保存 ctx
状态桥createSharedStateBridge → SignalcreateSharedStateComposablecreateSharedStateHook(useSyncExternalStore 兼容)ctx.sharedState.subscribe
事件桥createEventBridgecreateEventBusComposablecreateEventBusHookctx.eventBus.on / onAny
ACLcreateAclGuard / createAclCheckerv-acl 指令(createAclDirective)/ createMfeAclGuardcreateAclRouteCheckctx.acl.canAbility
HTTPcreateHttpPipelineInterceptorcreateMfeAxiosInterceptorscreateMfeFetch原生 fetch(Mock 层拦截)
i18ncreateI18nTranslatorcreateI18nComposablecreateI18nHookctx.i18n.fanyi

环境准备 ​

开始教程前,确认你的环境满足要求(来自根目录 package.json 的 engines 约束):

  • Node.js >= 20.0.0
  • 包管理器:bun 或 npm 均可(workspaces 仓库)
bash
# 安装依赖(二选一)
bun install
# 或
npm install

常用命令(均为根目录 package.json 真实脚本):

命令作用
npm run examples:start并行启动 6 个 dev server(Portal + 5 个子应用)
npm run start:portal单独启动 Portal(端口 4200)
npm run start:angular-sub单独启动 Angular 子应用(4201)
npm run start:vue-sub单独启动 Vue 子应用(4202)
npm run start:react-sub单独启动 React 子应用(4203)
npm run start:wc-sub单独启动 Web Component 子应用(4204)
npm run start:custom-sub单独启动纯 JS 子应用(4205)
npm run demojsdom 无浏览器演示(Node 中跑完整生命周期)
npm run examples:check示例 TypeScript 类型检查

演示账号 ​

登录 Portal 后使用以下演示账号(定义于 examples/shared/mock-data.ts):

账号密码角色权限概况
adminadmin123admin、user全部 10 项能力(含 settings-manage、system-admin)
useruser123useruser-view、project-view、project-create、project-edit
guestguest123guestuser-view、project-view(只读)

下一步 ​

基于 MIT License 发布