Skip to content
On this page

LocationReloadPlugin

子应用location.reload 在wujie中默认禁用,该插件会将动作作用于主应用,实现窗口重新加载。

提示

LocationReloadPlugin 不适用与ESM模式(vite)下, vite 生产构建可以用 @vitejs/plugin-legacy 进行转换。

如果希望在ESM模式下进行reload, 可以不使用该插件,子应用通过 parent.location.reload() 进行实现更为直接。

使用

tsx
import { startApp } from 'wujie'
import { LocationReloadPlugin } from "wujie-polyfill";

// 无框架
setupApp({
    name: '唯一id',
    url: '子应用地址',
    exec: true,
    el: '容器',
    sync: true
    plugins: [LocationReloadPlugin()]
})

// vue
<WujieVue
  width="100%"
  height="100%"
  name="xxx"
  :url="xxx"
  :plugins=“[LocationReloadPlugin()]”
></WujieVue>

// react
<WujieReact
  width="100%"
  height="100%"
  name="xxx"
  url="{xxx}"
  plugins="{[LocationReloadPlugin()]}"
></WujieReact>

类型定义

ts
interface LocationReloadPluginOptions {
    match?: (appWindow?: AppWindow) => boolean;
}
declare const LocationReloadPlugin: (config?: LocationReloadPluginOptions) => wujie.plugin;

配置

match

匹配规则函数

tsx

import { LocationReloadPlugin } from "wujie-polyfill";

const config = {
    match: (appWindow) => {
        return appWindow === 'app1' // 仅 name 为 app1 生效
    }
}

<WujieReact
  width="100%"
  height="100%"
  name="xxx"
  url="{xxx}"
  plugins="{[LocationReloadPlugin(config)]}"
></WujieReact>

Released the MIT License.