{"id":28478463,"url":"https://github.com/gvray/micro-umi3-app","last_synced_at":"2026-07-03T12:07:24.067Z","repository":{"id":171337735,"uuid":"647747818","full_name":"gvray/micro-umi3-app","owner":"gvray","description":"基于umi3 qiankun antd4的微前端应用，提供基本的登录鉴权能力，我们可以很容易在这套模版的基础之上，快速开始业务能功能。","archived":false,"fork":false,"pushed_at":"2023-06-14T15:38:12.000Z","size":59,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-29T08:12:14.071Z","etag":null,"topics":["antd","qiankun","typescript-react","umi"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gvray.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-05-31T12:44:29.000Z","updated_at":"2023-06-02T15:35:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"bc8b726c-746f-4892-b232-e0af91b5753b","html_url":"https://github.com/gvray/micro-umi3-app","commit_stats":null,"previous_names":["gavinbirkhoff/micro-umi3-app","gvray/micro-umi3-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gvray/micro-umi3-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gvray%2Fmicro-umi3-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gvray%2Fmicro-umi3-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gvray%2Fmicro-umi3-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gvray%2Fmicro-umi3-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gvray","download_url":"https://codeload.github.com/gvray/micro-umi3-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gvray%2Fmicro-umi3-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33161850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"ssl_error","status_checked_at":"2026-05-17T22:39:10.741Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["antd","qiankun","typescript-react","umi"],"created_at":"2025-06-07T17:35:16.837Z","updated_at":"2026-05-18T01:35:34.006Z","avatar_url":"https://github.com/gvray.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# micro-umi3-app\n\n基于umi3 qiankun antd4的微前端应用，提供基本的登录鉴权能力，我们可以很容易在这套模版的基础之上，快速开始业务能功能。业余时间制作，离我想要的结果差很多，持续更新～点赞不迷路\n\n现代浏览器，移步到[micro-umi4-app](https://github.com/GavinBirkhoff/micro-umi4-app)，但是它还没有开始，在我把当前项目做完事后，再开始～\n# 快速开始\n\n```shell\n# 主应用\ncd admin-app\nyarn\nyarn start\n\n# 子应用\ncd user-app\nyarn\nyarn start\n\n# 子应用\ncd other-app\nyarn\nyarn start\n```\n\n# 主要实现功能\n\n下面是一套微前端的基本架构能力，只提供基本必要功能，过多的功能会让不同的业务场景，在使用上发生困惑和更多的代码调整。\n\n- [ ] 登录鉴权 在大型系统的微前端架构中，子应用通常无法独立登录。这是因为登录通常涉及到用户身份验证和会话管理等功能，这些功能需要在主应用或中心化的认证系统中进行验证和管理。如果有历史原因或者需求是可以子应用独立登录。\n- [ ] 路由管理\n- [ ] 全局状态管理\n- [ ] 父子应用通信 父子通信的方式除了官方有很多，这里只实现正规的方式，足以满足很多场景。如果你的不满足的话，你应该组织好你的业务逻辑，而不是让技术框架去适配一个你以为的合理场景。\n- [ ] 模块共享\n- [ ] 接口请求\n- [ ] 开发集成 实现开发子应用的时候，不必非要启动主应用。\n- [ ] CICD\n- [ ] 其他\n# 说明\n\n在这套项目里，每个应用并不会做到拿来即用，很多和微前端没有直接关系的功能是不会去做的，比如说小到一个技术点，像token无痛刷新，路由拦截器，请求拦截器，响应拦截器，登录退出记住密码的加密等等；大到模块的封装，工程化配置，开发集成环境，生产性能优化，CICD等等；我认为使用微前端的项目，应该已经很熟悉单体项目的工程结构和生产构建的umi优化配置。只需要把以往成熟的单体项目整合到这套应用里即可。\n\n# 大型微前端应用时，你可能需要实现的功能\n\n1. 主应用和子应用的集成：将主应用和多个子应用进行集成，使它们能够独立运行和协同工作。\n\n2. 路由管理：实现主应用和子应用之间的路由管理，包括路由切换、参数传递和嵌套路由等。\n\n3. 状态管理：在整个微前端应用中管理共享状态，可以使用状态管理库（如 Redux、Mobx 或 dva）来实现。\n\n4. 模块共享：确保主应用和子应用之间可以共享模块和组件，以减少重复代码和提高开发效率。\n\n5. 数据通信：实现主应用和子应用之间的数据通信机制，例如使用事件总线、消息总线或共享状态管理器来实现跨应用的数据传递和更新。\n\n6. 权限和认证：实现用户登录、权限管理和认证机制，确保只有经过认证的用户可以访问相应的应用和功能。\n\n7. 异步加载和按需加载：支持子应用的异步加载和按需加载，以提高应用的性能和加载速度。\n\n8. 构建和部署：实现整个微前端应用的构建和部署流程，包括打包子应用、编排和发布子应用等。\n\n9. 错误处理和调试：提供统一的错误处理机制，包括捕获和处理子应用的错误，并提供调试工具来定位和修复问题。\n\n10. 性能优化：优化应用的性能，包括减少网络请求、缓存数据、代码分割和懒加载等。\n\n11. 日志和监控：实现应用的日志记录和监控，可以使用日志服务和监控工具来收集和分析应用的运行情况。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgvray%2Fmicro-umi3-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgvray%2Fmicro-umi3-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgvray%2Fmicro-umi3-app/lists"}