0.1.4 • Published 2 years ago

micro-app-helper v0.1.4

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

micro-app-helper

micro app 的工具函数. 目前包含事件的监听执行, 数据(方法)的注册.

因为通过 Promise 完成事件的通信, 所以一个事件只支持一个监听函数, 多次监听会丢弃或覆盖(force = true)旧的监听事件.

安装

yarn add micro-app-helper
# or npm
# npm install micro-app-helper

使用

主应用

// src/main.ts

import microApp from '@micro-zoe/micro-app'
import { setupMicroApp } from 'micro-app-helper'

setupMicroApp(microApp/**, 'micro-app-sub1' */)
// example-main.vue

import microApp from '@micro-zoe/micro-app'
import { useMicroApp } from 'micro-app-helper'

const app1 = useMicroApp(microApp, 'app1')

// 触发子应用方法
const result = await app.dispatch('submit', formData.value)
console.log(result?.data)
result?.resolve()

// 主应用方法注册到子应用
app1.register({
  hello() { console.log('world') },
  foo: 'bar', // 不会监听变化
})

// 监听子应用方法
app1.addEventListener('tada', handleTada)

子应用

// main.ts

import { setupMicroSubApp } from 'micro-app-helper'

setupMicroSubApp({
  mount: () => { /** do somthing... */ },
  unmount: () => { /** do somthing... */ },
})
// example-sub-app1.vue

import { useMicroApp } from 'micro-app-helper'

const subApp = useMicroApp({
  onRegistered(data) {
    console.log(data)
    // { hello: fn, foo: 'bar' }
  },
})

// 触发主应用 tada
subApp.dispatch('tada', '🎊🎊🎊🎊🎊')

// 监听主应用 submit
subApp.addEventListener('submit', handleSubmit)

通信流程

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago