0.2.1 • Published 2 years ago

@ueba/mf-config v0.2.1

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

@ueba/mf-config

用于生成 Module Federation 配置

使用方法

1.安装yarn add -D @ueba/mf-config
2.项目根目录中创建 mf.config.js 配置文件
3.配置 port ModuleFederationPluginproxy

// vue.config.js
const { generateConfig } = require("@ueba/mf-config");
const mfConfig = generateConfig();

module.exports = {
  //...
  configureWebpack: {
    plugins: [
      new ModuleFederationPlugin({
        ...mfConfig.plugin,
      }),
    ],
  },
  devServer: {
    port: mfConfig.port,
    proxy: {
      ...mfConfig.proxy,
    },
  },
};

mf.config.js 配置参数

参数说明类型必填可选值默认值
name服务的唯一名称,会使用 name 作为微服务名称,及代理/部署路径stringY--
moduleName指定微服务暴露名称,默认会使用 name 的小驼峰写名称stringN--
port服务本地运行端口,建议微服务项目指定端口号numberN-8080
exposes微服务导出的文件objectN--
services引入的微服务arrayN--
services.name微服务的名称,同上面的 namestringY--
services.mode微服务引入模式,对应 target 下的 dev prodstringNdev proddev
services.target微服务请求地址objectY--
services.target.dev对应 modedev 的地址stringY--
services.target.prod对应 modeprod 的地址stringY--
// 示例主机配置文件 ueba
module.exports = {
  name: "ueba",
  port: 8080,
  exposes: {
    "./components": "./src/components/expose",
    "./utils": "./src/utils/expose",
  },
  services: [
    {
      name: "dashboard",
      mode: "dev",
      target: {
        dev: "http://localhost:9001",
        prod: "http://10.10.26.129",
      },
    },
  ],
};
// 示例微服务配置文件 dashboard
module.exports = {
  name: "dashboard",
  port: 9001,
  exposes: {
    "./register": "./src/views/dynamic-dashboard/dashboard.js",
    "./router/routers": "./src/router/routers",
    "./router/exportRoute": "./src/router/exportRoute",
    "./Store/dashboard": "./src/store/modules/dynamic-dashboard.js",
    "./dashboard/Components": "./src/expose",
  },
  services: [],
};
0.2.1

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago