2010世界杯主题曲_世界杯非洲预选赛 - fsyxyy.com

快速上手

快速上手 ​本指南借助官方 Agent skill 创建并运行一个主应用和一个微应用。主应用通过 loadMicroApp 管理微应用实例。

开始前,请安装 Node.js >=20.19 和 npm,并准备基于 Chromium 的浏览器(Chrome、Edge 等)或 Safari(完整浏览器要求见浏览器支持)。

创建并运行应用 ​在一个空的工作目录中安装 skill,然后让你的 coding agent(Claude Code、Cursor 等)创建两个项目:

bashmkdir qiankun-demo

cd qiankun-demo

npx skills add umijs/qiankun123向 agent 描述目标,例如:

用 qiankun 创建一个 React + TypeScript 主应用 main-app(端口 7099,用 loadMicroApp 加载微应用)和一个 React + TypeScript 微应用 sub-app(端口 7101)

如果不使用 agent,可按教程手动搭建相同结构,本页其余内容同样适用。

项目创建完成后,打开两个终端,在 qiankun-demo 目录下分别启动两个应用:

微应用主应用bashcd sub-app

npm install

npm run dev

# http://localhost:71011234bashcd main-app

npm install

npm run dev

# http://localhost:70991234访问 http://localhost:7099,可查看主应用中挂载的微应用。直接访问 http://localhost:7101,可确认微应用能够独立运行。

skill 的安装方式、能力范围和生成内容的完整说明见 Agent skill。

Firefox 与 ESM 应用

ESM 沙箱依赖动态注入 import map,而 Firefox 目前还不支持这项能力。请使用基于 Chromium 的浏览器(Chrome、Edge 等)或 Safari 完成本指南。Classic 模式的微应用不受影响。

主应用如何管理微应用 ​生成的主应用运行在 7099 端口。React 创建容器元素后,App.tsx 通过以下代码加载微应用:

tsximport { loadMicroApp } from 'qiankun';

import { useEffect, useRef } from 'react';

export default function App() {

const containerRef = useRef(null);

useEffect(() => {

const container = containerRef.current;

if (!container) return;

const microApp = loadMicroApp({

name: 'sub-app',

entry: '//localhost:7101',

container,

});

return () => {

void microApp.unmount().catch((error: unknown) => {

console.error('sub-app 卸载失败:', error);

});

};

}, []);

return

;

}12345678910111213141516171819202122232425传给 loadMicroApp 的配置对象包含三个必填字段:

字段作用name当前微应用实例的名称。不同容器中的多个实例可以使用同一名称。entry微应用的 HTML 入口。本例指向运行在 7101 端口的开发服务器。container用于挂载微应用的 HTMLElement。loadMicroApp 返回一个 MicroApp 实例句柄。在实例存续期间应保留该句柄,并在清理时调用 unmount(),以便 qiankun 执行微应用的 unmount 生命周期并完成卸载。useEffect 的清理函数不能返回 Promise,因此本例只是发起卸载,并捕获可能的失败。如果主应用的清理流程支持异步等待,则应在移除容器前等待 unmount() 完成。

微应用的接入要求 ​生成的微应用仍是标准的 Vite 应用,仅增加以下两部分 qiankun 接入代码:

@qiankunjs/bundler-plugin 为 qiankun 配置 HTML 入口和开发服务器。入口模块导出 bootstrap、mount 和 unmount。mount 在主应用提供的容器内渲染,unmount 销毁框架根节点。直接访问 7101 端口时,微应用会走独立运行分支自行渲染。因此,该应用既可独立开发,也可由主应用加载。

路由驱动的应用 ​如果实例的创建和销毁由业务代码决定,应优先使用 loadMicroApp。如果微应用的激活状态完全取决于当前 URL,可使用 registerMicroApps 和 start。本页流程无需使用这两个 API。

下一步 ​按照教程一步步手动搭建相同结构。在微应用生命周期与 props中了解应用契约。改造一个现有的 Vite 或 Webpack 应用。在 loadMicroApp API中查看全部选项和方法。

简历写一页还是两页?不同经验阶段的真实判断标准
胸部大小怎麼看?3步驟教你精準判斷罩杯與集中度|IVY MAISON艾葳美胸


最新发表

友情链接