vue contextPath的思考

先说我这边的情况,目前项目都是前后端分离开发的,上线有种部署方式,常见的就是前后端分开部署,这是比较常见的,我这边因客户原因,打包一起进行部署比较简单,交付技术运维部方便后期其他现场部署,由于场景不同,没有使用分布式,更别谈微服务,只是单体,因为大部门客户企业也就是几十个人,也有几万用户,但是真正使用的也就是100多号人,所以用不到微服务和分布式,不过对于分布式方式也进行预留扩展机制,上面的背景说好了,说下问题;采用集成前后端集成部署好处时简单方便,维护量也很少,直接启动下exe即可,这个场景确实在大部客户那边都没问题的,目前遇到了一个比较正轨的大公司,内部网络错综复杂,还有划分了各个网络,例如生产网、办公网、DM区,等等,就是很多网络环境;目前客户要求不仅仅要在生产网能够访问,还要支持其他几个网络访问,例如办公网、互联网、信息网等等,在使用nginx做代理时发现了一个问题,vue打包时,静态资源默认static和其他方式,这个vue模式不是hash模式,也就是没#,类似这样的模式http://host+port/#/xx;由于我这边是多个业务系统组合而来的,那么代理的时候不可能都统一走 / 根请求访问,需要根据不同的contextPath进行调用不同的静态资源,问题出来了,例如我有个A系统,contextPath路径是/a, nginx里配置location /a 代理到A系统即可,一切一切看似都没问题,这样操作后发现问题了,后端的服务地址都是通过/a正常转到A系统了,但是前端静态资源没有走/a;

例如:

  代理后正常这样的:             

             后端 http://host+port/a/api/xxx,

             前端 http://host+port/a/static/xxx

  问题是前端变成了http://host+port/static/xxx 这样,直接打到nginx根路径/上了,那这样一定有问题的。

     怎么解决呢?

方法有很多种:

         1、因为静态资源是放在后端服务器的资源里的,可以在springboot里的contextPath统一添加路径例如/a,这样是可以的。(我这边没有采用这种方案,想和其他现场尽可能的保持统一,方便后期运维)

         2、前端能否进行统一调整,也不会影响其他现场,这样就可以保持统一了,按照这个思路我就了解了下vue的打包过程,确实是支持的。

在assetsDir里可以进行设置,例如设置成 commonFront/static,这样就可以了,或者为了代理方便可以直接设置a/static都是可以的,我这边为了方便其他现场统一,所以进行了统一设置。设置好后,那边请求前端的路径就变成了这样:http://host+port/commonFront/static/xxx

这样就好办了,在nginx在加一层location即可,location  /commonFront 就可以了,这样处理不仅仅兼容了其他现场,也能支持后期定制化,减少不一致问题

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/17700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker ps显示的参数具体是什么意思

1,运行一个容器 docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"这段命令的作用是使用 docker run 命令运行一个基于 ubuntu:15.10 镜像的 Docker 容器,并在容器中执行一个无限循环的命令。 具体解…

10Django项目--用户管理系统--改

对应视频链接点击直达 10Django项目--用户管理系统--改 对应视频链接点击直达改a,本质b,修改(更新) 页面相关a,index页面新增操作按钮b,修改(更新)页面c,路由和函数 OVER,不会有人不会吧不会的加Q139400651…

基于jeecgboot-vue3的Flowable流程-我的任务(一)

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 1、首先可以用现成生成代码的前端来做这个,只要做一些调整就可以了,这样利用现有的一些模板可以快速构建我的任务,否则vue2与vue3相差太大,移…

质量人,你还在等什么?快来六西格玛培训公司充电吧!——张驰咨询

在竞争激烈的商业环境中,质量成为了企业生存和发展的关键。而六西格玛,作为一种全球公认的质量管理方法论,正在成为越来越多企业追求品质革命的重要工具。而六西格玛培训公司,则成为了这场品质革命中,质量人不可或缺的…

菊花链通信技术整理

目录 一、菊花链简介 二、菊花链与CAN通信的区别 三、常见的菊花链AFE芯片 四、菊花链数据结构 五、菊花链方案介绍 一、菊花链简介 首先简单的说一下菊花链以及菊花链的应用,在目前国内的BMS开发中,我们应用最广泛的目前还还是分布式,…

Linux:线程

文章目录 前言1. 线程概念1.1 什么是线程1.2 线程比进程更加轻量化1.3 虚拟地址到物理地址的转化物理内存的管理页表 1.4 线程的优点1.5 线程的缺点1.6 线程异常1.7 线程用途 2. 进程 vs 线程3. 线程控制3.1 线程创建3.2 线程退出3.3 线程等待3.4 分离线程3.5 线程取消 4. 线程…

机器学习-6-对随机梯度下降算法SGD的理解

参考一文带您了解随机梯度下降(Stochastic Gradient Descent):python代码示例 参考sklearn-SGDClassifier 1 梯度下降 在机器学习领域,梯度下降扮演着至关重要的角色。梯度下降是一种优化算法,通过迭代沿着由梯度定义的最陡下降方向,以最小化函数。类似于图中的场景,可以…

english语法

从句:简单句连词 介词

Android studio sdk 虚拟机无法打开运行

1.确认是否在BIOS开启硬件虚拟化支持,选择Enable 2.win8/win10 Hyper-V冲突。控制面板-》程序与功能-》windows功能-》关闭 Hyper-V 3.sdk 路径非默认路径 复制avd C:\Users\Administrator\.android\avd 到 sdk的安装路径下 D:\Android\sdk 。重启软件重新启动即可

老板:2个亿的销售额,利润只有55万!电商这个生意真的到头了?

近来,一段对话轰动了半个电商圈的老板,干拼多多,2亿的销售额,利润只有55万! 其实造成这一现象的原因就是“内卷” 说一句电商行业真实的现状,电商发展了十几年,网友对网购已经完全熟悉&#x…

DuGa-DIT论文翻译

Dual Gated Graph Attention Networks with Dynamic Iterative Training for Cross-Lingual Entity Alignment 双门控图注意力网络与跨语言实体对齐的动态迭代训练 Abstract 近年来,跨语言实体对齐引起了相当大的关注。过去使用传统方法来匹配实体的研究都有一个…

Linux--构建进程池

目录 1.进程池 1.1.我们先完成第一步,创建子进程和信道 1.2. 通过channel控制,发送任务 1.3回收管道和子进程 1.4进行测试 1.5完整代码 1.进程池 进程池其产生原因主要是为了优化大量任务需要多进程完成时频繁创建和删除进程所带来的资源消耗&#…

CentOS7 部署单机版 ElasticSearch + Logstash

一、部署ElasticSearch Elasticsearch部署参考下面文章: CentOS7 部署单机版 elasticsearch-CSDN博客文章浏览阅读285次,点赞6次,收藏3次。ElasticSearch,用于检索、聚合分析和大数据存储https://blog.csdn.net/weixin_44295677…

后端经典三层架构

大家好,这里是教授.F 引入: MVC 全称∶ Model 模型、View 视图、 Controller 控制器。MVC 最早出现在 JavaEE 三层中的 Web 层,它可以有效的指导WEB 层的代码如何有效分离,单独工作。 View 视图∶只负责数据和界面的显示&#…

拼多多买家关注店铺 id 导出商品收藏导出查看全店spu_id

拼多多买家账号导出关注列表店铺 id、商品 id 登录网页端拼多多界面,清缓存后 F12加载数据,下滑界面自动加载缓存; 查看商品收藏 登录网页端拼多多界面,清缓存后 F12加载数据,下滑界面自动加载缓存; 一…

【招聘帖】资深数通专家 ,薪资最高3.5W

资深数通专家 薪资:25000-35000 元/月 工作职责 岗位职责: 1、负责统筹管理客户全网问题&需求跟踪管理及汇报、日常数通团队工作的每日分解协调、人员技能内训及跟踪闭环; 2、负责统筹对架构基线梳理评估、软件版本管理、应急方案可执行…

Git-01

Git是一个免费且开源的分布式版本控制系统,它可以跟踪文件的修改、记录变更的历史,并且在多人协作开发中提供了强大的工具和功能。 Git最初是由Linus Torvalds开发的,用于Linux内核的开发,现在已经成为了广泛使用的版本控制系统&a…

拉普拉斯IPO:新能源产业快速发展,为低碳转型注入强劲动力

近年来,我国新能源产业快速发展,为全球绿色低碳转型注入强劲动力。国际人士认为,中国新能源产业快速发展,得益于超大规模市场优势、完整的工业体系和丰富的人力资源,得益于企业对研发创新的巨大投入,我国市…

安装PyTorch详细步骤

💥注意事项: CPU版和GPU版选一个进行安装即可 如果有Nvidia显卡,则安装cuda版本的PyTorch,如没有nvidia显卡,则安装cpu版。 目前常见的深度学习框架有很多,最出名的是:PyTorch(faceb…

expect自动交互

在执行命令或脚本的时候,当控制台提示我们需要输入账号密码、参数等信息的时候,expect可以将预设的参数值自动输入到控制台,实现了自动交互。 1. 安装expect yum install expect 2. 案例: 创建 demo.exp 文件,并添…