Skip to content
On this page

API

VML默认导出

function(app: App, ctx: Context) => void

vue-module-loader 的默认导出函数通常被命名为 vml,作为 vue3 插件使用。

import vml from "vue-module-loader";
app.use(vml, {});

微前端模块导出

模块打包入口文件默认导出。

  • name

    string

    模块名必须与package.namevite.config.build.lib.name保持一致。

  • install

    (context: Context) => any

    模块加载安装时钩子,函数接收上下文对象,可以在此钩子内部自由发挥。支持返回 Promise。

  • uninstall

    (context: Context) => any

    模块卸载时钩子,函数接收上下文对象,可以再此做一些模块卸载善后工作。支持返回 Promise。

具名方法

vue-module-loader 包导入

useModule

function useModule(moduleData: string | ModuleOptions, Vue?: Context["Vue"]): Promise<void>

动态加载一个微前端模块,参数支持两种方式:

  • 模块远程 url 地址
import { useModule } from "vue-module-loader";
useModule("http://static.mengqinghe.com/vml/module/vue-module-module.iife.js");
  • 本地 ESM
import localModule from "./module";
useModule(localModule);

注意:

当以插件方式安装 vue-module-loader 时或首次使用 useModule 方法加载远程模块时必须给上线问对象添加Vue对象。

uninstall

async function uninstall(moduleName: string)

卸载一个动态模块,此方法返回 Promise。

clear

async function clear()

卸载所有动态加载的模块,此方法返回 Promise。

list

function list()

列出当前运行时已加载的模块清单,需要注意的是,返回 map 的 value 是模块的卸载器方法,不是完整模块对象。

VueModuleLoader 文档由 VitePress 生成