基于Spring Cloud与Vue架构的系统前后端分离方案

1.关于前后端分离

1.1.为什么前后端分离

  • 在这个看脸的时代,对页面的要求越来越高
  • 前端技术栈更新速度太快,Angluar、React、Vue、Webpack、Gulp等等,这版本还没用溜又出新版本了,不少前端同学控诉学不过来
  • 后端技术栈同样不甘示弱,分布式、微服务、容器化、大数据处理、AI等等,一个坑还没跳完又来一个,后端同学表示压力也很大
  • 招一个优秀的全栈比招一个优秀的前端加一个优秀的后端难
  • 前端到后端流水线,切分成两部分,两端同时开工,便于加快工程进度

1.2.什么是伪分离

  • 前端同学出静态页面,后端拿过去填后台交互部分,前端同学交付的并不是成品
  • 前端同学在后端工程(以Java为例)里面写页面,还得装JDK环境,还得会点Java,maven,Spring等后端知识

1.3.理想的前后端分离

  • 前端工程是单独的工程,有自己的提交历史,不需要在后端工程里挣扎
  • 前后端只有接口的交互,前端同学提供的是成品,这样前端能看到最终的界面
  • 前端本地开发只需要前端相关的技术栈,比如本地用Node.js启动服务
  • 如果用Spring Cloud技术栈的话,希望前端工程能自动发现后端服务,能根据url自动路由到对应的服务

1.4.备注

并不是所有系统都适合前后端分离,情况很多,讨论什么样的系统适合做分离不是本文的重点,本文只讨论需要前后端分离的项目,且基于Spring Cloud与Vue架构的系统,对其他前端JS框架应该也有借鉴意义,但时间有限,并没有做测试。

2.分离设计

以微服务平台为例(简称msp),基于Vue+Spring Boot+Spring Cloud

2.1.工程

  • msp-vue
    vue-cli初始化的工程,前端页面源码
  • msp-portal
    用zuul开发的一个定制化代理服务,将msp-vue打包后dist目录下的内容,通过Jenkins自动拷贝到msp-portal/src/main/resources/static/
  • 其他后端服务

2.2.步骤

  1. 前端人员提交代码到GitLab里的msp-vue项目
  2. GitLab里的msp-vue项目收到push请求,自动触发Jenkins里的msp-vue任务
  3. Jenkins里msp-vue任务,npm build生成静态页面目录dist
  4. Jenkins里msp-vue任务,拉取GitLab里的msp-portal代码,清空其静态内容目录,并将上步产生的dist目录内容拷贝到msp-portal静态内容目录
  5. Jenkins里msp-vue任务,push组装后的msp-portal代码到GitLab
  6. Jenkins里的msp-vue任务完成后,自动触发Jenkins里的msp-portal任务,构建成jar并发布到对应的服务器

2.3.Jenkins配置

2.3.1.msp-vue

msp-vue-1.png

msp-vue-2.png

msp-vue-3.png

msp-vue-4.png

2.3.2.msp-portal

msp-portal-1.png

msp-portal-2.png

msp-portal-3.png

2.4 代码示例

2.4.1.msp-portal

gitlab-msp-portal-1.png

gitlab-msp-portal-2.png

2.4.2.msp-vue

gitlab-msp-vue-1.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,841评论 18 139
  • 1:正态分布&幂律分布 正态与幂律两种分布的截然不同走向。幂律分布,择优录取,末位淘汰。而正态分布在一个单位部门中...
    杨平的阅读 178评论 0 0
  • 想想自己的成长历程,从小呢无论做任何事情都会积极的去面对,不管自己是都能够做到,至少我的心态是好的,其实这些都与我...
    我心所愿阅读 230评论 2 5
  • 页面允许用户写入多个项目名称和地址,比如说希望这样调用 D:\test.bat "pro1,pro2,pro3",...
    huangxiaomiao阅读 2,809评论 0 1
  • 今天订阅了天天用英语
    一黍花园阅读 180评论 0 0