# 微前端集成方案

# 微前端概念

AFCenter基座: AFCenter 前端主框架程序,是AFCenter的入口,负责加载微前端模块。

AFCenter微前端模块: 对应一个微前端项目,通过primeton create-m-app指令创建。

页面(组件):一个微前端项目中,可以有多个页面(组件),一个页面(组件)对应一个Vue的组件。

# 前置要求:AFCenter环境准备

环境搭建参考部署文档。本例中部署结构如图所示:

服务端口为:8001,前端端口为8000.

环境验证: 浏览器访问:http://localhost:8000 输入admin/111111 登录成功。

# 创建微前端项目

1.安装primeton命令

npm install primeton-cli -g

2.创建微前端项目

primeton create-m-app 指令参考:

primeton create-m-app [moduleName] [debugPort]

创建微前端项目myApp,调试端口:8999

primeton create-m-app myApp 8999

运行命令后,在当前工作目录生成微前端项目结构:

# mfp.config.json 模块配置文件

exposes节点中配置外部可访问的模块。

项目默认创建了一个index模块,对应组件:

# 注:模块名称以必须以定义时必须以./开头,在使用时,不需要加./。模块名可以使用/。

# 开发和调试

1.安装依赖

npm install

2.启动调试服务

npm run dev

3.调试模块

调试页面需要以基座为入口,基座可以选择AFCenter前端发布介质,也可以通过AFCenter 源代码项目。本例中使用AFCenter前端发布介质。

打开浏览器,访问:http://localhost:8000 admin/111111,登录进入主页。

调试index模块,访问:

http://localhost:8000/#/module/myApp/page/index

参数说明:

http://{AFCenter基座地址}/#/module/{微前端模块名称}/page/{页面名称}

# 打包部署

1.运行打包命令

 npm run build:prod

编译产物在和微应用项目平级的disk目录下:

2.部署

微前端模块介质可以选择和AFCenter基座部署在一起,也可以选择独立部署。

本例为独立部署,nginx配置如下:

    server {
        listen       8888;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /Volumes/your/d/dist;
            index  index.html index.htm;
        }
    }

# AFCenter菜单配置

可以通过AFCenter的菜单来访问微前端的模块。

1.创建应用

使用admin账号进入AFCenter 应用管理菜单->创建应用。

应用编码:myappTest //任意,全局唯一

应用编码:我的应用 //任意,全局唯一

应用类型:选择微前端

微前端标识:myApp //微前端模块名称

微前端地址:http://localhost:8888 //微前端介质部署的地址

# 注:微前端标识和微前端地址根据实际部署情况部署,必须保证浏览器能够访问到:{微前端地址}/{微前端标识}/remoteEntry.js

image-20220801144912026

2.创建页面资源

点击我的应用->应用资源,进入资源维护页面。选择页面资源。点击创建

页面编码:helloWorlds //任意,租户下唯一

页面名称:helloWorlds //任意

模块名称:选择应用中配置的微前端模块-myApp

页面标识:index // mfp.config.json 中定义的模块名称

image-20220801145448384

3.创建菜单

进入菜单管理,创建helloworld菜单。

绑定helloworld页面

4.菜单授权

给admin用户helloworld的菜单权限。

进入角色管理,给租户管理员(afc-role-tenant-manager)加上页面资源权限。

配置完成后,重新登录,我们可以看到配置的菜单。

至此,完成微前端应用从创建,开发,调试,打包,发布和配置全流程。更多微前端Vue开发技术,请至附件:微前端开发进阶

上次更新: 2023/7/20下午12:25:28