【JeecgBoot-Vue3】关于 jeecg-boot-vue3 的项目理解、使用心得和改进建议

向所有投入到开源项目的先驱者致敬,感谢你们为构建开放、包容、创新的技术世界所作出的卓越贡献。

JEECGBOOT-VUE3 是一个基于 Vue 3 和 Ant Design Vue 的前端开源项目,与 JEECG 后端一起构建的一套全栈开发框架。

项目理解和使用心得

就目前我对于jeecg-boot-vue3项目的理解是,符合当前绝大部分企业的B端业务的需求 ,页面简洁大方,模块分类清晰,拓展性和性能的表现都非常不错。通过快速的二次开发接入,完全可以面对当前行业迅速变化的需求。

它包括了:系统管理,消息管理,租户管理,Mock示例 等基础常见的模块外,还包括低代码开发等通过类似积木的方式进行项目的开发。

当然整个项目而言,对开发人员最大的要求就是能具备查阅和阅读开发文档的能力,不单单是对于jeecgboot这个项目的开发而言。

在我们学校上线的毕业生课题选题系统,就是二次开发接入的jeecgboot-vue3的项目,集成毕业生和教师双向的选题系统。就目前来看完全可以容纳近1.5k左右的毕业生同时进行双向的选择课题和取消,双向发送通知消息的功能。

在学习jeecg-boot-vue3所遇到的问题,由于我的经验有限,说得不好,勿喷,只是希望能指出其中的问题,大家共同进步和学习。

好的,现在我们就来看看在JEECGBOOT-VUE3的具体内容:

版本信息

JEECGBOOT-VUE3

  • 版本: 3.6.2
  • 包管理工具:pnpm
  • 打包构建工具:vite^4.4.9
  • Tyescript 版本 ^4.9.5
  • 前端项目规范:eslint + stylelint + prettier + husky + commitlint + conventional-changelog

运行效果

工作台

一、目录结构

前端项目的目录结构,如下:

java 复制代码
├── src                开发主要代码目录
│   └── components     项目组件
│   └── utils          项目工具
│   └── views          项目页面
│   └── store          项目状态
│   └── router         项目路由
│   └── ...
├── tests              测试代码目录
├── types              项目类型目录
├── public             项目静态资源目录
├── package.json       以下为项目配置文件,关于环境、git、代码规范、commit规范的配置文件(为列举完全)
├── .env
├── .env.development
├── .env.production
├── .gitignore
├── ...

总的来说: jeecgboot-vue3的前端项目目录,整体来讲比较规范和清晰 、对于使用者、开发者来讲都是比较容易入手 进行二次开发和维护的。

二、查看项目package.json

项目使用的主要依赖(未列举完全)

  1. vue ^3.4.15 (前端框架库)
  2. vue-router ^4.1.0 (路由库)
  3. axios ^1.6.4 (请求库)
  4. ant-design (UI库)
  5. dayjs (时间处理库)
  6. echarts (可视化处理库)
  7. pinia (状态管理库)
  8. ...

其他依赖(未列举完全)

  1. lodash
  2. mockjs
  3. nprogress
  4. clipboard
  5. ...

三、改进建议

1.约定优于配置

目录结构冗长,建议封装工具脚手架,将各类配置抽离,统一管理项目中的配置文件,通过cli脚手架工具进行项目的测试、代码规范和风格检查及项目的构建,如下:

arduino 复制代码
├── .config
│   └── vite.config.ts
│   └── .env
│   └── .env.development
│   └── .env.production
│   └── jest.config.mjs
│   └── postcss.config.js
│   └── prettier.config.js
│   └── 其他配置文件...
├── src
├── tests
├── types
├── public
├── package.json
├── ...
json 复制代码
{
    "scripts": {
        "dev": "jeecgboot dev -p 3000 -h localhost",
        "build": "jeecgboot build:umd ...",
        "build:es": "jeecgboot build:es ...",
        "lint:style": "jeecgboot lint:style --scope scss/less/css"
        "lint:md": "jeecgboot lint:md",
        ....
    }
}
javascript 复制代码
pnpm run build:es
pnpm run lint:style

2. 构建jeecgboot生态链工具

前端代码,可以使用monorepo进行分别管理,划分出至少两个项目:

  1. jeecgboot-components

    通过对组件的单独封装和统一管理,隔离组件和业务B端的耦合,进而分离组件库。

  2. jeecgboot-vue

    业务的vue框架

  3. jeecgboot-react

    业务的react框架

  4. jeecgboot-cli

    jeecgboot生态的cli工具,可以包括以下内容:

    • 语法检查eslint
    • 代码规范检查
    • stylelint
    • jest
    • 打包工具配置等
    • 快速创建jeecgboot生态模板

3. 提取出的单独的组件,每个组件内分别测试,降低测试的粒度,确保组件的健壮性。

感觉components下的组件src此文件夹过于冗余了,目录结构虽然清晰但是,每一个组件下都有src文件夹,从感觉上来讲更符合规范,但是从代码上来讲src重复,可优化。

四、总结

  1. jeecg-boot-vue3 提高了我们团队的开发效率 ,整体使用下来非常流畅和方便,极大降低开发成本
  2. jeecg-boot-vue3 符合我对一个开源项目和jeecg团队的认真负责,开源精神的认可。
  3. 当然我相信随着社区的不断壮大和发展,jeecg-boot项目会发展的更加的好。

当然项目的发展和优化不是一蹴而就的。

文件内联减少请求数Tree-shaking , GZIP压缩CDN加速已经变成jeecg-boot用户所可以进行的优化。

展望

  1. js运行时?使用rust v8库 提供的运行时能力,减少无关运行时代码的注入和向上层提供高层次接口,可玩性非常高。
  2. 是否尝试使用Rust WASM 的能力对一些低层的组件进行进一步的抽取和封装
  3. 是否尝试推出React或者桌面端版本来提供更多的企业级需求。
  4. 是否尝试集成阿里旗下BizCharts,PC端个性化场景可视化方案。
相关推荐
崔庆才丨静觅5 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60616 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了6 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅6 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅7 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅7 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment7 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅8 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊8 小时前
jwt介绍
前端
爱敲代码的小鱼8 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax