JECloud前端架构介绍
JECloud前端整理采用微应用架构进行设计,采用最新的vue3,AntDesign vue3 作为底层支撑进行开发,确保整体技术保持业界领先,具备核心竞争力!
架构图
技术选型
技术架构
- 微前端(MicroApp)
- Monorepo:JECloud前端自有框架的管理方式。
Monorepo(monolithic repository) 是管理项目代码的一个方式,指在一个项目仓库 (repo) 中管理多个模块/包 (package),不同于常见的每个模块建一个 repo。
基础框架
- Vue 3:项目核心框架
- VueRouter 4:Vue路由框架
- Pinia 2:Vue状态管理框架
- VueI18n 9 :Vue国际化框架
- less 3:CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展
- MicroApp:微应用 https://micro-zoe.github.io/micro-app/
- Ant Design Vue 3:基于 Ant Design 设计体系的 Vue UI 组件库,主要用于研发企业级中后台产品
工程化
- VueCli 4.5:Vue脚手架
- Vite 2:前端构建工具,用于开发环境
- Gulp 4:基于流(stream)的自动化构建工具
- Webpack 4:代码编译工具
- Lerna 4:Lerna 是一个管理工具,用于管理包含多个软件包(package)的 JavaScript 项目
- Yalc:可以在本地模拟 npm package 发布环境的工具
编码规范
- ESLint:规范并校验 ECMAScript/JavaScript code的编写
- StyleLint:规范并校验css/scss/less code的编写
- Gitcommitlint:规范并校验Git commit msg是否符合规范
- Prettier:统一代码排版格式
- .editorconfig:统一项目基础配置
- Document This VSCode注释插件:统一代码注释规范
JECloud自有框架
- @jecloud/ui:基于AntDesignVue二次封装的组件库,重写和增加了许多特有组件
- @jecloud/utils:基于Lodash封装的工具类库,增加了许多特有工具类
- @jecloud/func:平台功能解析引擎库
- @jecloud/plugin:平台其他插件库,包含门户,图表,报表等…
- @jecloud/cli:微应用项目脚手架,后期开发
插件
Lodash:工具类库
VxeTable:表格组件
MonacoEditor:代码编辑器
Mxgraph:流程画图工具
Tinymce:富文本编辑器
Pickr:颜色选择器
Sortablejs:拖拽类库
Dayjs:日期类库
Axios:http请求类库
微前端介绍
微前端的概念是由ThoughtWorks在2016年提出的,它借鉴了微服务的架构理念,核心在于将一个庞大的前端应用拆分成多个独立灵活的小型应用,每个应用都可以独立开发、独立运行、独立部署,再将这些小型应用融合为一个完整的应用,或者将原本运行已久、没有关联的几个应用融合为一个应用。微前端既可以将多个项目融合为一,又可以减少项目之间的耦合,提升项目扩展性,相比一整块的前端仓库,微前端架构下的前端仓库倾向于更小更灵活。
它主要解决了两个问题:
1、随着项目迭代应用越来越庞大,难以维护。
2、跨团队或跨部门协作开发项目导致效率低下的问题。
最后编辑: 吝志超 文档更新时间: 2024-08-08 13:51 作者:吝志超