当前位置: 首页 > web >正文

遇到前后端半分离老项目的速度解决方法

问题提出:

前段时间一个小白给我看他的毕业设计,是github上拉下来的一个巨老项目,叫美食鉴赏系统,然后她看了老半天找不到改的地方,结果我看了之后才发现这是个半分离前后端,也就是前端前台代码是放在后端代码里面,通过tomcat直接跑的,直接改html代码还改不了,因为Tomcat缓存问题。

其文件结构如下:

back和front:

问题解析:

该项目的前端分为前台后台,然后前端前台代码都写在后端back里面,而且都是写的html、css、js文件,当启动后端代码的时候,这部分代码会被tomcat代理跑起来,然后他前端后台代码却又分离了出来,放在front里面,以vue文件存在

然后我本以为这种结构简直乱来,但是我看了资料说这是有历史渊源的,因为早期项目或者小项目,为了快,就直接把前台代码塞后端里,Tomcat 能直接跑,简单粗暴。后来需求变了,后台功能越来越复杂,就开始用 Vue(或者 React)重新独立一套后台前端出来了。但原本的前台页面因为历史包袱,懒得重构,所以就继续留在后端里跑。

解决问题:

最简单的方法是直接把这部分的前端前台代码,也就是bac/src/resources里的front文件全部迁移到前端前台代码的public文件夹下。

然后改掉前台后台切换时的衔接代码即可。找到前台切后台和后台切前台的方法动作改路径就行。

此后,运行前端前台代码只需要访问public/index.html即可。

疑惑:

为什么不进行反编译?这样的话前台代码不也挺不好改的吗?灵活性很差

  1. 传统 HTML、CSS、JS 是明文资源,严格来说不存在真正意义上的“反编译”

  2. 但如果是被 Webpack/Vue/React 打包过的,那代码通常是压缩混淆(丑化、加密过的)

  3. 即便“反编译”得到 JS 代码,也极难阅读和二次开发,逻辑混乱、可维护性极差。

  4. 修改压缩后的代码非常痛苦,每改一点都要担心整个应用出错,特别容易出坑。

  5. 随着项目更新,只要后端重新发一次版本,你之前辛辛苦苦改的全没了

  6. 长期看,项目的灵活性、扩展性几乎归零,形同废弃

http://www.xdnf.cn/news/2810.html

相关文章:

  • 如何选择合适的RFID手持终端设备?
  • 【C++QT】Item Views 项目视图控件详解
  • Nginx支持HTTP2/HTTP3的并用CURL测试
  • RSYNC命令使用详解
  • JLink,程序烧写流程、步骤
  • 阿里语音处理工具ClearerVoice-Studio项目上手指南
  • 2302. 统计得分小于 K 的子数组数目 滑动窗口 or 前缀和+二分
  • 6. 页面对象开发的第一种实现方式:页面继承
  • 应用在通信网络设备的爱普生晶振SG2016CBN
  • Matplotlib可视化基础
  • 如何获取按关键字搜索京东商品详情(代码示例)
  • 无需手动重建!Altium到Cadence的封装转换:ASCII文件方法详解
  • LangChain4j +DeepSeek大模型应用开发——3 人工智能服务 AIService
  • 网工备考考纲变化总结
  • 【大模型ChatGPT+R-Meta】AI赋能R-Meta分析核心技术:从热点挖掘到高级模型、助力高效科研与论文发表“
  • AE插件中文汉化 RGB色彩通道分离故障复古视觉特效 RGB Split v1.0.0
  • watch 监视器
  • 剑指offer经典题目(七)
  • C语言高频面试题——局部变量和全局变量可以重名吗?
  • vs 安装完番茄助手visual assist 后 菜单栏不显示
  • mysql约束
  • Django 缓存框架
  • 同步电路与异步电路
  • 如何在 IntelliJ IDEA 中编写 Speak 程序
  • Spark知识总结
  • 前缀树(Trie)(字典树)
  • C++网络通信大小端原理详解
  • 《系统分析师-第三阶段—总结(六)》
  • 集成电路流片随笔19:full_handshake
  • Web技术与HTTP协议