All Projects → yuzhanglong → mf-lite

yuzhanglong / mf-lite

Licence: MIT license
🎉 优雅且实用的基于 webpack module federation 的微前端解决方案 / Elegant and practical micro front-end solution based on webpack module federation.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to mf-lite

micro-fun
Micro frontends as Fun with Next.js & module federation
Stars: ✭ 55 (-56.35%)
Mutual labels:  microfrontend, microfrontend-architecture
enlite-starter
Enlite Starter - React Dashboard Starter Template with Firebase Auth
Stars: ✭ 28 (-77.78%)
Mutual labels:  intl, webpack5
scion-microfrontend-platform
SCION Microfrontend Platform is a TypeScript-based open-source library that helps to implement a microfrontend architecture using iframes.
Stars: ✭ 51 (-59.52%)
Mutual labels:  microfrontend, microfrontend-architecture
Arbify
ARB files localization tool. Dedicated to Flutter and its intl package.
Stars: ✭ 168 (+33.33%)
Mutual labels:  intl
Laravel Intl
🚫 [ABANDONED] Easy to use internationalization/localization functions for Laravel 5
Stars: ✭ 185 (+46.83%)
Mutual labels:  intl
mobileweb
webpack 5 + postcss 8 构建移动端网站架子
Stars: ✭ 23 (-81.75%)
Mutual labels:  webpack5
angular-react-microfrontend
🚧 React vs Angular ? Why not both ! Micro frontend demo using Angular and React alongs with a NodeJS API
Stars: ✭ 17 (-86.51%)
Mutual labels:  microfrontend
App Datepicker
Datepicker element built with Google's lit-element and Material Design 2
Stars: ✭ 142 (+12.7%)
Mutual labels:  intl
detect-browser-language
Detect browser language
Stars: ✭ 35 (-72.22%)
Mutual labels:  intl
Webpack5-Max
Webpack 5 Boilerplate for JS/React/TS apps.
Stars: ✭ 103 (-18.25%)
Mutual labels:  webpack5
react-intlable
High order component for declarative Internationalization
Stars: ✭ 23 (-81.75%)
Mutual labels:  intl
Intl
A PHP replacement layer for the C intl extension that also provides access to the localization data of the ICU library.
Stars: ✭ 2,323 (+1743.65%)
Mutual labels:  intl
promotion-web
基于React: v18.x.x/Webpack: v5.x.x/React Router v6.x.x/ Antd: v5..x.x/Fetch Api/ Typescript: v4.x.x 等最新版本进行构建...
Stars: ✭ 374 (+196.83%)
Mutual labels:  webpack5
Formatjs
The monorepo home to all of the FormatJS related libraries, most notably react-intl.
Stars: ✭ 12,869 (+10113.49%)
Mutual labels:  intl
wp-bootstrap4-sass
A clean slate Wordpress theme template with Bootstrap(4) Sass.
Stars: ✭ 28 (-77.78%)
Mutual labels:  webpack5
Jquery.ime
jQuery based input methods library
Stars: ✭ 145 (+15.08%)
Mutual labels:  intl
iXn
Control your localization of apps
Stars: ✭ 20 (-84.13%)
Mutual labels:  intl
next-intl
Library to integrate react-intl with Next.js.
Stars: ✭ 41 (-67.46%)
Mutual labels:  intl
arbify flutter
Flutter package providing Arbify support.
Stars: ✭ 18 (-85.71%)
Mutual labels:  intl
showcase
A Full Stack Journey with Micro Services and Micro Front Ends. Using dapr, kubernetes, react module federation and web assembly,
Stars: ✭ 45 (-64.29%)
Mutual labels:  module-federation

基于 Webpack 5 Module Federation,优雅且实用的微前端解决方案。

介绍

mf-lite 是一个基于 Webpack 5 Module Federation 来实现模块共享、qiankun 来做隔离沙箱的微前端解决方案,它提供以下内容:

  • 一个通过命令行快速创建基座应用或者微前端应用的脚手架, 提供项目初始化依赖及开发、构建脚本。npm Version

  • 一个核心工具库, 它可以:npm Version

    • 基于 Webpack Module Federation 特性,让微前端架构下的的库共享(share library)、甚至模块共享(share module) 成为可能,且使用更加优雅、易于维护。
    • 自动生成、处理开发、生产可用的 webpack 的复杂配置项,用户基本上无需直接接触 webpack 的相关配置。
    • 支持生成远程模块的 typescript 类型定义。
  • 一个基于 node.js、方便独立开发微应用的 HTTP 请求代理工具, 使微应用的独立开发方式更加优雅。npm Version

对于用户来说,唯一需要做的就是拉取模板、然后加上一些十分简单的配置,剩下的和平常的开发流程别无二致。

特性

📦 开箱即用:你只需要执行几行命令即可拉取相应的模板代码并把项目跑起来,包括基座应用和微前端应用,无需处理构建工具的复杂配置。

🤩 typescript 支持:模块的生产者和消费者均可自动生成/消费相关的 typescript 类型定义。

🚀 舒适的开发体验:开发体验与常规应用一致、完美接入 qiankun 微前端沙箱库、基座和微应用开发都支持热更新,类型定义的生成也不会打断正常的开发流程。

🔨 独立开发与部署:基于提供的代理工具,微应用开发者在单独开发微应用时,无需启动基座或者其它微应用。

🌟 轻量的项目模板:脚手架生成的初始项目只保留微前端相关的核心依赖,其它第三方库的选型(如 ui 组件库、状态管理库)交由开发者全权管理。

快速开始

安装脚手架工具

npm install @mf-lite/cli -g

在交互式命令行中创建项目

mf-lite create

安装依赖、执行项目

npm install
npm run dev:serve

更多信息以及实践方案,请查看文档

案例

快速开始: 最简单的项目 DEMO,开箱即用,全部在本地运行开发。子应用能够共享基座应用暴露出来的模块或者 npm 包。

微应用独立开发: 单独微应用的开发模式,基于部署在远程的基座开发,微应用基于它运行、消费其依赖。

远程部署案例: 通过配置来实现远程部署,其实现效果就是上文的 在线 DEMO

多个子应用部署案例: 一个在同一个页面运行多个微应用的案例。

TIP: 所有案例都可以在本仓库的 examples 目录下找到。

它是如何工作的

请参考这篇文章

License

MIT @yuzhanglong

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].