体验微前端
通过本章你可以了解到:
- 如何创建微前端项目的主应用、子应用。
- 微前端项目开发的基本流程。
创建应用
目前项目的路由模式分为以下三种
在本教程中我们会为主应用创建两个子应用 Table 和 Dashboard (Table 为约定式路由,Dashboard 为自控式路由)
创建约定式路由主应用
通过命令行工具初始化项目:
mkdir masterApp && cd masterApp
npx @modern-js/create@latest
? 请选择开发语言:TS
? 请选择包管理工具:pnpm
完成项目创建后我们可以通过 pnpm run new
来开启 微前端
功能:
? 请选择你想要的操作 启用可选功能
? 请选择功能名称 启用「微前端」模式
接下来,让我们注册微前端插件并添加开启微前端主应用,并增加子应用列表:
modern.config.ts
import { appTools, defineConfig } from '@modern-js/app-tools';
import { garfishPlugin } from '@modern-js/plugin-garfish';
export default defineConfig({
runtime: {
router: true,
},
plugins: [appTools(), garfishPlugin()],
});
src/modern.runtime.ts
import { defineRuntimeConfig } from '@modern-js/runtime';
export default defineRuntimeConfig({
masterApp: {
apps: [{
name: 'Table',
entry: 'http://localhost:8081',
// activeWhen: '/table'
}, {
name: 'Dashboard',
entry: 'http://localhost:8082'
// activeWhen: '/dashboard'
}]
},
});
然后我们在 routes 文件夹下新建两个目录
- table (用于加载约定式路由子应用)
- dashboard (用于加载自控式路由子应用)
在这两个目录下我们需要新建一个 $.tsx
文件作为主应用约定式路由的入口($ 代表模糊匹配,即 /table
和 /table/test
都会匹配到这个 $.tsx
作为该路由的入口文件,这会保证在微前端场景下正确加载子应用路由)