JeecgBoot-Uniapp

这个项目的目录结构是标准的 Vite + Vue3 + TS 架构,它比传统的 uni-app 项目更接近 Vue3 官方的开发体验。

JeecgUniapp/

├── src/

│ ├── api/ # 所有的接口定义,按模块分类(如 sys.ts, user.ts)

│ ├── components/ # 全局自定义组件,Jeecg 封装的 UI 件

│ ├── hooks/ # Vue3 的组合式 API 钩子(封装逻辑复用)

│ ├── layouts/ # 页面布局模板(配合插件实现页面包装)

│ ├── pages/ # 【主包】核心页面(首页、登录、仪表盘)

│ ├── pages_detail/ # 【分包】详情类页面,减轻主包压力

│ ├── pages_sample/ # 【分包】示例页面,演示各种组件用法

│ ├── static/ # 静态资源(图标、图片)

│ ├── store/ # Pinia 状态管理(存储用户信息、Token)

│ ├── utils/ # 工具类(重点是其中的 http 目录)

│ ├── App.vue # 根组件

│ ├── main.ts # 项目入口

│ ├── pages.json.js # 动态路由生成的逻辑(如果有)

│ └── vite.config.ts # 核心插件配置(所有黑科技的源头)

封装 uni.requesthttp 目录

封装在 http 里的作用:

  1. 统一拦截 (Interceptors)

    • 请求拦截 :在每个请求发出去前,自动在 Header 里塞入 X-Access-Token。你不用每个页面都去写拿 Token 的代码。

    • 响应拦截:如果后端返回 401(Token过期),拦截器直接帮你弹窗并跳到登录页。如果返回 500,直接统一弹出错误提示。

  2. 环境切换 :通过封装,你可以一键切换 开发环境测试环境生产环境 的 API 地址。

  3. Promise 化 :让原本的回调函数写法变成 async/await,代码写起来像德芙一样顺滑。

@uni-helper/vite-plugin-uni-pages 彻底解析

这就是你最懵逼的地方。它是 "约定式路由" 的实现者。

1. <route> 标签是什么意思?

在每个 .vue 文件顶部的这段代码,叫做 SFC(单文件组件)路由配置

HTML

复制代码
<route lang="json5" type="page">
{
  layout: 'default',
  style: {
    navigationBarTitleText: '用户中心',
    navigationStyle: 'custom'
  }
}
</route>
  • lang="json5":支持带注释的 JSON。

  • type="page":标记这是个页面。

  • layout:告诉框架,这个页面要套用哪个底色或导航栏模板。

2. 为什么要用它?(作用)
  • 自动化 :以前你增加一个页面,得去 pages.json 手动填地址、标题。现在你只要在 src/pages 下新建个文件,插件自动帮你把地址塞进 pages.json

  • 代码内聚:标题是啥、是否允许下拉刷新,这些配置直接写在页面代码里,不用跨文件找。

3. 如何使用?

你只需要在 vite.config.ts 里引入它。插件会监听你的 src/pages 文件夹,只要你保存代码,它就在后台刷新 pages.json


四、 分包(Subpackages)是怎么实现的?

Jeecg 项目的分包实现非常聪明,也是靠这个插件完成的。

实现原理:

  1. 文件夹约定 :你在 src 下看到以 pages_ 开头的目录(如 pages_detail)。

  2. 插件配置 :在 vite.config.tsUniPages 配置里,指定这些目录为分包目录。

  3. 动态编译 :插件扫描到这些特殊文件夹时,会自动在 pages.jsonsubPackages 字段里生成对应的路径。

为什么要分包? 因为小程序主包限制 2MB。Jeecg 这种功能非常多的项目,如果不分包,你连预览都点不开。通过这种方式,只有用户点击"详情"时,才会去加载 pages_detail 里的代码,极大提升了首屏启动速度。

相关推荐
EatFan13 小时前
Java接入支付宝 JSAPI 支付保姆教程(二):流程讲解与前后端代码讲解
前端·spring boot·后端·微信小程序·小程序·uni-app
bug总结2 天前
uniapp vue3全局方法注册使用
前端·javascript·uni-app
大佐不会说日语~2 天前
Android 16 下 uni-app APP 提示“网络连接失败”的排障与修复
android·uni-app
2501_915106322 天前
苹果App Store上架费用及流程全面解析
android·ios·小程序·https·uni-app·iphone·webview
白远山2 天前
家政服务派单平台搭建实战指南:从需求分析到系统设计全流程解析
java·开发语言·架构·uni-app·需求分析
宸翰2 天前
解决uni-app 中 SVG 图片在 iOS 端显示模糊问题
前端·uni-app
走到天涯海角2 天前
uniApp蓝牙在手机上测试
智能手机·uni-app
bug总结3 天前
uniapp的easycom自动组件注册机制
uni-app
HF_code3 天前
uniapp-history路由深度指南
uni-app
suliqiang3 天前
【前端技术】 Web 前端技术36年 演进全景图
信息可视化·微信小程序·小程序·前端框架·uni-app·人机交互·xcode