若依ruoyi-vue部署在子域名下(做为子应用)

news2024/11/17 23:32:26

若依ruoyi-vue部署在子域名下(做为子应用)

特殊情况需要部署到子路径下(做为子应用)

文章目录

  • 若依ruoyi-vue部署在子域名下(做为子应用)
  • 一、vue.config.js
  • 二、router/index.js
  • 三、Navbar.vue
  • 四、request.js
  • 五、修改nginx配置
  • 六、测试
  • 七、静态资源(图片等)
    • ①:修改静态资源路径
    • ②:背景图片路径
    • ③:动态图片路径
    • ④:获取静态资源的请求


一、vue.config.js

1. 修改vue.config.js中的 publicPath

publicPath: process.env.NODE_ENV === "production" ? "/health-care" : "/",

在这里插入图片描述

二、router/index.js

1. 修改router/index.js 添加一行base属性

base: process.env.NODE_ENV === 'production' ? '/health-care' : '/',

在这里插入图片描述

三、Navbar.vue

1. 修改src/layout/components/Navbar.vue 中的 location.href

location.href = process.env.NODE_ENV === "production" ? "/health-care" : "" + '/index';

在这里插入图片描述

四、request.js

1. 修改request.js 中的 location.href

location.href = process.env.NODE_ENV === "production" ? "/health-care" : "" + '/index';

在这里插入图片描述

五、修改nginx配置

注意:修改三处

  • nginx配置中是alias而不是root
  • location /health-care
  • try_files $uri $uri/ /health-care/index.html;
  • 片段
location /health-care {
         # 配置前端资源的路径,将 /health-care 请求路径映射到实际的项目打包输出目录
         alias /usr/local/project/item_ruoyi/dist;

         # 指定默认访问的文件,index.html 或 index.htm
         index index.html index.htm;

         # 尝试访问 URI(即请求路径),如果文件或目录不存在,则将请求重定向到 /health-care/index.html
         # 这是为了支持 Vue Router 等前端路由方式(history 模式)
         try_files $uri $uri/ /health-care/index.html;
     }

  • 完整配置
 server {
     listen 18080;                #监听端口
     server_name  _;

     location /stage-api/ {
         # 这里配置代理到后端服务的地址
         proxy_pass http://127.0.0.1:8080/;
     }

     location /health-care {
         # 这里配置前端资源的路径
         alias /usr/local/project/item_ruoyi/dist;
         index index.html index.htm;
         try_files $uri $uri/ /health-care/index.html;
     }

 }

六、测试

访问路径后面应该带上子路径/health-care

  • 原访问路径:http://60.20.1.12:18080
  • 现访问路径:http://60.201.12:18080/health-care

在这里插入图片描述

在这里插入图片描述

七、静态资源(图片等)

①:修改静态资源路径

  • 将public 下的静态资源放在src下

在这里插入图片描述

②:背景图片路径

  • 使用相对路径
 background-image: url('../../../assets/img/slices/title@2x.png');
 .my-header {
     height: 6%;
     box-sizing: border-box;
     background-image: url('../../../assets/img/slices/title@2x.png');
     background-size: 100% 100%; /* 背景图片覆盖整个元素 */
     background-repeat: no-repeat; /* 防止背景图片重复 */
     background-position: center center; /* 背景图片居中 */
 }

③:动态图片路径

  • 有时需要动态获取图片路径
<div class="top-card" v-for="item in button_list" :key="item.id" >
     <img alt="" :src="item.currentUrl || item.url"/>
 </div>
  • 使用 require 来加载静态资源
button_list: [
                {
                    id: 1,
                    url:  require('../../../assets/img/slices/center_elder2@2x.png'),
                    hover_url:  require('../../../assets/img/slices/center_elder1@2x.png'),
                    currentUrl: ''
                },
                {
                    id: 2,
                    url:  require('../../../assets/img/slices/center_social2@2x.png'),
                    hover_url:  require('../../../assets/img/slices/center_social1@2x.png'),
                    currentUrl: ''
                }
                ]

④:获取静态资源的请求

  • 使用 require 来加载静态资源
        async set_register_map() {
            // let response = await axios.get('/json/songJiang.json');
            // let geoJson = response.data;
            // echarts.registerMap('songJiang', geoJson);
            try {
                // 使用 require 来加载 JSON 文件
                let geoJson = require('@/assets/json/songJiang.json');
                echarts.registerMap('songJiang', geoJson);
            } catch (error) {
                console.error('Error loading songJiang.json:', error);
            }
        },

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

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

相关文章

通过查找真实IP bypass WAF

当已知某站存在漏洞时&#xff0c;Web 应用程序防火墙&#xff08;简称WAF&#xff09;是最大的阻碍。通常&#xff0c;这些网站都很老旧&#xff0c;维护得不是很好&#xff0c;因此在大多数情况下&#xff0c;将 WAF 放在它们之上会更容易。有一种方法可以绕过这一层保护&…

【软件文档】软件质量保证计划书(Word完整版)

1 概述 2 质量目标 3 项目基本情况 4 资源 4.1 人员 4.1.1 组织结构 4.1.2 职责 4.2 工具及设施 5 质量保证的主要工作 6 质量保证工作量估算 7 质量保证工作提交的产物 8 变更管理 9 评价标准 10 形成的记录 软件全套资料部分文档清单&#xff1a; 工作安排任务书&#xff0c;…

想了解前端开发神器MemFire Cloud,这一文就搞定

在如今这个快速变化的开发世界里&#xff0c;谁不想拥有一款能够极大提升效率的开发神器&#xff1f;如果你也是一个想在开发路上少走弯路的程序员&#xff0c;那你一定要了解一下 MemFire Cloud。这款专为“懒人开发者”准备的全能工具&#xff0c;凭借其便捷的操作和强大的功…

ESP32-C3在MQTT访问时出现“Last error code reported from esp-tls: 0x8001”和问题的分析(5)

接前一篇文章:ESP32-C3在MQTT访问时出现“Last error code reported from esp-tls: 0x8001”和问题的分析(4) 前几篇文章分析了笔者在调试测试MQTT时所遇到的“Last error code reported from esp-tls: 0x8001”的问题。实际上笔者在实际测试时发现,还有另外一种错误情况,…

关于Claude Artifacts的5条总结!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

简道云进销存的设计分析

​简道云-进销存应用是对标标准ERP的核心场景业务流、功能&#xff0c;开发的一款拥有自定义能力的“专业进销存”场景应用产品。 01功能表 简道云-进销存应用&#xff0c;主要是实现进销存业务中的4大工作流程“采购、销售、库存、财务”的场景设计&#xff0c;对应的&#x…

手机删除的照片怎么恢复?被删照片不怕,教你4个恢复秘笈

手机不仅是我们的掌中宝&#xff0c;在手机相册里更是藏着无数秘密与珍贵的回忆。但你是否也遇到过这样的尴尬&#xff1a;一不小心的操作&#xff0c;那些记录生活点滴、定格美好瞬间的照片&#xff0c;就从眼前消失&#xff0c;只留下一串问号和一颗焦急的心。 在数字时代&a…

见合八方发布用于测风雷达的1550nm蝶形MOPA激光器

天津见合八方光电科技有限公司(以下简称“见合八方”)日前发布1550nm蝶形半导体MOPA激光器JMA-BT5515100。 产品介绍 MOPA激光器又称为主振荡功率放大器&#xff0c;MOPA广泛应用于分布式光纤传感、激光雷达等领域&#xff0c;其主体由两部分构成&#xff1a;半导体激光器光放…

尚硅谷大数据技术-Kafka视频教程-笔记01【Kafka 入门】

视频地址&#xff1a;【尚硅谷】Kafka3.x教程&#xff08;从入门到调优&#xff0c;深入全面&#xff09;_哔哩哔哩_bilibili 尚硅谷大数据技术-Kafka视频教程-笔记01【Kafka 入门】尚硅谷大数据技术-Kafka视频教程-笔记02【Kafka 外部系统集成】尚硅谷大数据技术-Kafka视频教程…

VBRAS场景测试方法——如何高效验证网络设备的性能与稳定性

01 vBRAS的产生背景 为了解决传统BRAS中存在的设备资源利用率低、运维复杂和新业务开通缓慢等问题&#xff0c;业界提出了基于转发与 控制分离的vBRAS系统架构。基于转发与控制分离的vBRAS系统架构包括CP和UP两种角色&#xff0c;由二者共同实现BRAS功能。 CP&#xff08;Con…

2024开学季必备好物推荐!这些开学好物不可错过!

随着2024年开学季的到来&#xff0c;无论是重返校园的学生还是刚开学的新朋友&#xff0c;都需要一些实用且高效的工具来助力新学期的学习与生活。为了帮助大家更好地准备&#xff0c;我们精心挑选了一系列开学必备好物。从提升学习效率的学习工具到保证健康生活的日常用品&…

低代码表单 FormCreate 中组件的生成规则详解

在低代码表单组件 FormCreate 中&#xff0c;组件生成规则定义了如何通过 JSON 配置生成表单组件。了解和使用这些规则&#xff0c;您可以灵活地创建和控制各种表单元素。 源码地址: Github | Gitee 数据结构 type Rule {// 生成组件的名称&#xff0c;例如 input, select 等…

【大揭秘】如何利用AI轻松解决工作难题?

在这个信息爆炸的时代&#xff0c;工作中的难题似乎层出不穷。无论是项目管理、数据分析&#xff0c;还是客户沟通&#xff0c;繁杂的任务常常让我们感到无从下手。然而&#xff0c;随着人工智能&#xff08;AI&#xff09;的迅猛发展&#xff0c;越来越多的职场人士开始将其作…

uniapp自定义头部导航栏布局(优化版)

H5与微信小程序效果图 普通版 //utils/system.js//获取系统信息const systemInfo uni.getSystemInfoSync();//获取状态栏的高度&#xff0c;H5状态栏的高度默认是0export const getStatusBarHeight()>systemInfo.statusBarHeight || 0;//获取标题栏高度export const getTi…

HTB-Campfire-1

1、今天打一台htb安全分析的靶机&#xff0c;首先我们先看一下这中类型题的框架&#xff0c;首先是题目指引描述&#xff0c;之后有7个问题&#xff0c;这些问题会一步一步指引我们去溯源分析&#xff0c;话不多说开始我们今天的练习。 题目描述&#xff1a; Alonzo 在他的电脑…

Redis高可用方案:使用Keepalived实现主备双活

注意&#xff1a;请确保已经安装Redis和keepalived&#xff0c;本文不在介绍如何安装。 1、使用版本说明 Redis版本&#xff1a;5.0.2 Keepalived版本&#xff1a;1.3.5 Linux 版本&#xff1a;Centos7.9 查看Redis版本&#xff1a; /usr/local/redis/bin/redis-cli -v查…

Mac系统搭建Sonic总结

1.参考文档 https://sonic-cloud.cn/ https://mp.weixin.qq.com/s/PBnmgsmpXsQxtHU9g_05fA 测试设备&#xff1a;建议使用模拟器 Android&#xff1a;Android Studio自带模拟器 iOS&#xff1a;Xcode自带模拟器 2.所遇问题 1)拉取mysql5.7提示docker: no matching manif…

基于jstat 进行JVM监控

文章目录 引言I jstat 统计信息工具JVM 堆内存布局命令格式元数据空间统计堆内存统计JVM编译方法统计编译统计类加载统计II JVM调优基本概念: 应用程序的响应时间(RT)和吞吐量(QPS)JVM调优原理调优思路调优方法JVM调优技巧建议III 基于jstat 分析垃圾回收情况,进行JVM调优…

基于RS232的VGA显示

前言 基于ROM的VGA显示缺点&#xff1a;需要将图片转化为mif文件&#xff0c;使用的RAM是FPGA内部RAM模拟出来的&#xff0c;占用资源大切换显示图片需要重新转化&#xff0c;对ROM进行写入&#xff0c;使用极不方便&#xff0c;因此这里采用RS232进行VGA显示。 正文 一、基于…

跨境电商静态IP选择:机房IP还是住宅IP?

在跨境电商日益繁荣的今天&#xff0c;选择合适的静态IP代理对于网店的成功至关重要。代理IP不仅影响着店铺的网络连接速度和稳定性&#xff0c;还直接关系到店铺的安全性和防封能力。对于跨境网店而言&#xff0c;有静态机房IP和静态住宅IP两种选择。那么&#xff0c;究竟哪种…