ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

后端出身的我,用飞算JavaAI把Vue前端页面写出来的完整实录

后端出身的我,用飞算JavaAI把Vue前端页面写出来的完整实录 这篇文章我会把过程中的真实困难、踩过的坑、以及最后怎么解决的全部摊开讲。不吹不黑。一、先承认一个事实我曾经很怕前端作为一个写了5年后端的Java程序员我对前端的态度经历了三个阶段轻视期觉得前端就是写页面没技术含量畏惧期看了一眼前端工程化npm、webpack、babel、eslint、prettier……直接劝退实用期不再追求精通只追求能独立完成项目现在我在第三阶段。我不需要成为Vue大神但我需要能在没有前端同事的情况下把一个管理后台的页面做出来。飞算JavaAI的/前端开发指令就是帮我跨过这个门槛的工具。二、这个功能到底能做什么官方定义依据前后端设计阶段输出的前端页面设计文档严格执行前端代码的开发与落地实现高保真的用户界面与交互逻辑。简单说你给它设计文档它给你生成可运行的前端工程。但有两个重要前提必须有上游设计文档。如果项目是纯后端项目没有前端设计文档需要先跑/前后端设计补齐。生成的代码需要人工调整。不要指望它一次生成完美无缺的代码。三、我的实战课程管理后台前端开发承接前两篇文章我继续做在线教育平台的课程管理后台。3.1 前置检查执行/前端开发之前我先确认了项目docs目录下有以下文档需求文档业务设计文档前端页面设计文档接口设计文档其中前端页面设计文档和接口设计文档是/前后端设计生成的。如果缺少AI会提示你回去补。3.2 执行指令我在飞算JavaAI里输入根据课程管理后台的前后端设计文档完成前端页面开发。技术栈用 Vue 3 Element Plus。AI开始读取上游文档然后生成代码。整个过程大概几分钟比我自己搭环境写代码快得多。3.3 生成的工程结构生成的前端工程在frontend目录下结构如下frontend/ ├── package.json ├── vite.config.js ├── index.html ├── src/ │ ├── main.js │ ├── App.vue │ ├── router/ │ │ └── index.js │ ├── stores/ │ │ └── course.js │ ├── api/ │ │ ├── course.js │ │ └── category.js │ ├── views/ │ │ ├── course/ │ │ │ ├── CourseList.vue │ │ │ ├── CourseDetail.vue │ │ │ └── CourseForm.vue │ │ └── category/ │ │ └── CategoryList.vue │ └── components/ │ ├── CourseSearchForm.vue │ ├── CourseTable.vue │ └── StatusTag.vue这个结构和市面上大多数 Vue 3 项目差不多比较标准。3.4 启动项目按AI给的命令执行cd frontend npm install npm run devnpm install 的过程我遇到了一个小问题某个依赖下载超时。我切换了 npm 源npm config set registry https://registry.npmmirror.com然后重新 install成功。3.5 页面效果启动后浏览器访问http://localhost:5173我看到了左侧菜单课程管理、分类管理课程列表页搜索表单、数据表格、分页、操作按钮课程详情页表单展示课程信息分类管理页树形表格整体UI用的是 Element Plus风格简洁。对于一个内部管理后台来说已经完全够用了。四、我改了哪些地方4.1 搜索表单默认值AI生成的搜索表单分类下拉默认选中的是第一个分类。这不符合实际使用习惯我改成了默认全部分类。修改前const queryForm reactive({ title: , categoryId: categoryList.value[0]?.id || null, status: null, pageNum: 1, pageSize: 10 })修改后const queryForm reactive({ title: , categoryId: null, status: null, pageNum: 1, pageSize: 10 })4.2 状态标签颜色课程状态有四种草稿、审核中、已上架、已下架。AI生成的标签颜色区分度不够我调整了一下const statusMap { 0: { label: 草稿, type: info }, 1: { label: 审核中, type: warning }, 2: { label: 已上架, type: success }, 3: { label: 已下架, type: danger } }4.3 图片上传组件课程封面需要上传图片。AI生成的是一个简单的 input我替换成了 Element Plus 的el-upload并接上了后端上传接口。4.4 路由守卫AI没有生成登录相关的路由守卫。我自己补了一个简单的判断router.beforeEach((to, from, next) { const token localStorage.getItem(token) if (to.path ! /login !token) { next(/login) } else { next() } })五、我遇到的三个真实问题问题1跨域前端端口 5173后端端口 8080直接联调会报 CORS 错误。解决在vite.config.js里配置代理server: { proxy: { /api: { target: http://localhost:8080, changeOrigin: true } } }问题2后端接口字段和前端对不上虽然AI生成的设计文档里字段是一致的但我后端开发时改了一个字段名把coverUrl改成了cover_url前端表格就显示不出图片了。解决这种问题就是前后端约定没遵守。后来我统一用驼峰命名做接口字段数据库用下划线通过 MapStruct 做转换。问题3Element Plus 版本差异AI生成的代码用的是 Element Plus 2.x 的 API但我本地 install 的是 2.8.x。有个组件的属性名变了导致控制台报警告。解决看官方文档把旧属性名替换成新的。这个问题不大但提醒我要注意版本锁定。六、Java程序员写前端的心态调整6.1 不要追求代码艺术性前端界有很多最佳实践、设计模式看着很高级。但作为后端转全栈第一步是能用不是优雅。先把功能做出来再慢慢优化。6.2 善用组件库Element Plus、Ant Design Vue、Naive UI 这些组件库已经帮你做了80%的工作。不要自己从头写表格、表单、弹窗。6.3 学会看浏览器控制台后端程序员习惯看 IDEA 控制台前端要学会看浏览器 Console 和 Network。报错信息通常很明确只是位置不一样。6.4 接受不完美AI生成的页面不可能100%符合你的心意。有些地方需要你手动改这很正常。不要因为它没一次生成完美就否定工具的价值。七、飞算JavaAI前端开发对我的最大帮助7.1 省掉了搭环境的时间Vue 3 Vite Pinia Element Plus 的工程搭建我自己做大概要半小时。AI几秒钟就生成了而且结构标准。7.2 给了我一个可运行的起点从零开始写前端页面很容易陷入不知道从哪里下手的困境。AI生成的代码哪怕不完美也是一个完整可运行的起点。你可以边改边学。7.3 降低了试错成本以前想尝试一个新布局或新组件要改很多地方。现在AI先生成一个版本我看效果不满意再改试错成本很低。八、哪些人适合用这个功能适合后端出身想快速补全前端的Java程序员独立开发者需要一个人完成整个项目小团队没有专职前端需要快速出管理后台原型不适合已经有成熟前端团队的大型项目对UI交互要求极高的C端产品希望完全不用改代码的一键交付心态九、写在最后前端开发是全栈转型中最让人畏惧的一环但也是最有成就感的一环。当你看到自己写的页面和后端接口真正跑通的那一刻会有一种原来我也能做到的感觉。飞算JavaAI的/前端开发指令不是让你绕过学习而是让你在实战中学习效率更高。你生成的每一行代码都可以看、可以改、可以问为什么这样写。下一篇我会回到后端开发。很多人以为后端开发对Java程序员来说最简单但AI辅助下的后端开发其实也有一些值得注意的地方。
返回列表