Garfish 微前端框架使用教程

Garfish 微前端框架使用教程

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

1. 项目的目录结构及介绍

Garfish 是一个用于构建微前端应用的框架。以下是项目的目录结构及其介绍:

garfish/
├── packages/          # 存放Garfish的核心代码和库
│   ├── garfish/       # Garfish主模块
│   ├── loader/        # 负责加载微应用的核心模块
│   ├── router/        # 路由模块,用于处理微应用的 routing
│   ├── sandbox/       # 沙箱模块,提供运行时隔离
│   └── store/         # 状态管理模块
├── scripts/           # 脚本文件,用于项目构建等
├── website-new/       # 官网代码
├── .github/           # GitHub相关配置
├── .husky/            # Husky配置,用于git钩子
├── .vscode/           # VSCode项目配置
├── cypress/           # Cypress测试配置
├── dev/               # 开发相关配置和工具
├── README.md          # 项目说明文件
├── LICENSE            # 项目许可证文件
├── babel.config.js    # Babel配置文件
├── cypress.config.ts  # Cypress配置文件
├── jest.config.js     # Jest测试配置文件
├── package.json       # 项目依赖和配置
└── tsconfig.json      # TypeScript配置文件

2. 项目的启动文件介绍

在Garfish项目中,启动文件通常是packages/garfish目录下的入口文件,例如index.jsindex.ts。以下是启动文件的简要介绍:

  • index.jsindex.ts: 这是Garfish的核心入口文件,它导出Garfish的核心功能,使得用户能够创建和配置微前端应用。例如:
// index.js
import { createApp } from 'garfish';

const app = createApp({
  // 配置项
});

app.start();

3. 项目的配置文件介绍

项目的配置文件主要包括package.jsontsconfig.json,以下是这些配置文件的介绍:

  • package.json: 该文件定义了项目的依赖、脚本和元数据。在Garfish项目中,它可能包含以下部分:
{
  "name": "garfish",
  "version": "1.19.4",
  "description": "A powerful micro front-end framework",
  "main": "dist/garfish.js",
  "scripts": {
    "build": "tsc && rollup -c",
    "start": "node scripts/dev.js"
  },
  "dependencies": {
    // 项目的依赖
  },
  "devDependencies": {
    // 开发依赖
  }
}
  • tsconfig.json: TypeScript配置文件,它指定了项目的TypeScript编译选项。例如:
{
  "compilerOptions": {
    "target": "es2017",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules"]
}

以上是Garfish项目的目录结构、启动文件和配置文件的简要介绍,希望对您使用Garfish有所帮助。

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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

### 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
发出的红包

打赏作者

虞熠蝶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值