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

本文主要是介绍若依ruoyi-vue部署在子域名下(做为子应用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

若依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.htmindex 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);}},

这篇关于若依ruoyi-vue部署在子域名下(做为子应用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120560

相关文章

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

html 滚动条滚动过快会留下边框线的解决方案

《html滚动条滚动过快会留下边框线的解决方案》:本文主要介绍了html滚动条滚动过快会留下边框线的解决方案,解决方法很简单,详细内容请阅读本文,希望能对你有所帮助... 滚动条滚动过快时,会留下边框线但其实大部分时候是这样的,没有多出边框线的滚动条滚动过快时留下边框线的问题通常与滚动条样式和滚动行

Python使用Tkinter打造一个完整的桌面应用

《Python使用Tkinter打造一个完整的桌面应用》在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速搭建出实用的图形界面,作为Python自带的标准库,无需安装即可... 目录一、界面搭建:像搭积木一样组合控件二、菜单系统:给应用装上“控制中枢”三、事件驱动:让界面“活”

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

Python Flask 库及应用场景

《PythonFlask库及应用场景》Flask是Python生态中​轻量级且高度灵活的Web开发框架,基于WerkzeugWSGI工具库和Jinja2模板引擎构建,下面给大家介绍PythonFl... 目录一、Flask 库简介二、核心组件与架构三、常用函数与核心操作 ​1. 基础应用搭建​2. 路由与参

使用Python和Tkinter实现html标签去除工具

《使用Python和Tkinter实现html标签去除工具》本文介绍用Python和Tkinter开发的HTML标签去除工具,支持去除HTML标签、转义实体并输出纯文本,提供图形界面操作及复制功能,需... 目录html 标签去除工具功能介绍创作过程1. 技术选型2. 核心实现逻辑3. 用户体验增强如何运行

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总