Garfish 微前端框架使用教程

Garfish 微前端框架使用教程

项目地址:https://gitcode.com/gh_mirrors/ga/garfish

1. 项目介绍

Garfish 是一个强大的微前端框架,主要用于解决现代前端生态繁荣和Web应用复杂性增加带来的跨团队协作、技术体系多样化以及应用复杂性增加等问题。Garfish 经过大量线上应用的打磨和测试,具有强大的功能稳定性和可靠性。

主要目标

  • 将多个独立交付的前端应用组合成一个整体。
  • 将前端应用分解为更小、更简单的应用,这些应用可以“独立开发”、“独立测试”和“独立部署”,同时对用户来说仍然是一个统一的产品。

2. 项目快速启动

安装

你可以通过 npm 或 yarn 安装 Garfish:

# 使用 npm 安装
npm install garfish

# 使用 yarn 安装
yarn add garfish

快速启动示例

以下是一个简单的 Garfish 应用示例:

import Garfish from 'garfish';

Garfish.run({
  basename: '/',
  domGetter: '#root',
  apps: [
    {
      name: 'app1',
      entry: 'http://localhost:3000',
      activeWhen: '/app1',
    },
    {
      name: 'app2',
      entry: 'http://localhost:3001',
      activeWhen: '/app2',
    },
  ],
});

3. 应用案例和最佳实践

应用案例

Garfish 已经被许多大型企业用于构建复杂的微前端应用,例如:

  • 企业内部管理系统:通过 Garfish 将不同的业务模块拆分为独立的微前端应用,实现模块化开发和部署。
  • 电商平台:将商品展示、购物车、支付等模块拆分为独立的微前端应用,提高开发效率和系统稳定性。

最佳实践

  • 模块化开发:将不同的业务模块拆分为独立的微前端应用,每个应用可以独立开发、测试和部署。
  • 依赖共享:通过 Garfish 的依赖共享机制,减少整体包大小和重复加载的依赖。
  • 预加载优化:利用 Garfish 的预加载能力,自动记录用户应用加载习惯,减少应用切换时间。

4. 典型生态项目

Garfish 作为一个微前端框架,与其他前端生态项目有良好的兼容性,以下是一些典型的生态项目:

  • React:Garfish 支持 React 作为微前端应用的框架,可以轻松集成 React 应用。
  • Vue:Garfish 也支持 Vue 作为微前端应用的框架,可以与 Vue 应用无缝集成。
  • Webpack:Garfish 可以与 Webpack 结合使用,实现模块打包和优化。

通过这些生态项目的结合,Garfish 可以构建出更加强大和灵活的微前端应用。

garfish A powerful micro front-end framework 🚚 garfish 项目地址: https://gitcode.com/gh_mirrors/ga/garfish

### Garfish 微前端 示例项目 案例教程 #### 创建基础环境 为了创建一个简单的 Garfish 微前端示例项目,首先需要初始化一个新的 Node.js 项目并安装必要的依赖项。通过 npm 或 yarn 完成这些操作。 ```bash npm init -y npm install @garfish/core --save ``` #### 配置主应用 在主应用程序中引入 `@garfish/core` 并配置加载子应用的方式: ```javascript // main.js import { start } from '@garfish/core'; start({ apps: [ { name: 'app1', entry: '//localhost:7100', // 子应用入口地址 container: '#container-app1' // 主应用中的容器节点选择器 }, { name: 'app2', entry: '//localhost:8100', container: '#container-app2' } ] }); ``` 此部分展示了如何定义多个子应用及其对应的 URL 和挂载点[^1]。 #### 构建子应用 每个子应用可以是一个独立的单页应用 (SPA),只需按照常规方式开发它们,并确保导出了正确的模块接口以便被 Garfish 加载。这里假设已经有一个 Vue 应用作为其中一个子应用实例。 ```html <!-- app1/index.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"/> <title>Sub App</title> <script type="module"> import('./main'); window.__GARFISH__ && __GARFISH__.bootstrap(); </script> </head> <body> <div id="app"></div> </body> </html> /* app1/main.js */ import Vue from 'vue'; import App from './App.vue'; new Vue({ render: h => h(App) }).$mount('#app'); if (!window.__GARFISH__) { const bootstrap = () => {}; const mount = () => new Vue({render:h=>h(App)}).$mount('#app'); const unmount = () => {}; export default { bootstrap, mount, unmount }; } ``` 上述代码片段说明了怎样使子应用兼容 Garfish 的生命周期管理函数——`bootstrap`, `mount`, `unmount`[^2]。 #### 调试技巧 当遇到问题时,可以通过多种手段来进行有效的调试工作。比如借助浏览器自带的开发者工具查看网络请求情况;也可以利用 JavaScript 中常见的日志记录语句如 `console.log()` 来追踪程序执行流程;另外还可以编写单元测试来验证各个功能模块是否按预期运行[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

费然杨Bernadette

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值