睿阳知识库 睿阳知识库
首页
  • npm库配置
  • PC端

    • npm常用命令
    • vue问题记录
    • SEO基础知识及优化
    • 禁止别人调试我的前端页面代码
  • 移动端

    • 小程序
    • Risun.js使用说明
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
  • .NET

    • Nuget库配置
  • Python

    • Pypi库配置
  • 常见问题

    • Word转Pdf字体错乱
    • 使用Jacob进行Word导出PDF
  • 自动部署
  • 前端带路径
  • Linux

    • 应用部署
  • Windows

    • 应用部署
  • 视频监控
  • MySQL系列~
  • 应用高可用
  • 静态代码扫描
  • OpenSSH版本升级
  • 区块链~
  • 软件过程文档目录
  • 著作权申请须知及申报示例
  • 项目申报技巧
  • 项目竣工资料清单
  • 科技项目申报流程及注意事项
  • 初级职称申报
  • 产品需求文档基础知识
  • 产品经理需了解的技术知识
  • 墨刀原型设计指南
  • 文档规范
  • 文档规范
  • 投标工作总结(一)
  • 科技项目申报心得体会
  • 数字孪生
  • AI
  • RSP基础平台
  • RMCloud
  • 区块链
  • 网络态势感知
  • 国产化
  • 数据湖
  • 贡献度
  • 文档编写说明
  • Markdown教程
工作链接
首页
  • npm库配置
  • PC端

    • npm常用命令
    • vue问题记录
    • SEO基础知识及优化
    • 禁止别人调试我的前端页面代码
  • 移动端

    • 小程序
    • Risun.js使用说明
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
  • .NET

    • Nuget库配置
  • Python

    • Pypi库配置
  • 常见问题

    • Word转Pdf字体错乱
    • 使用Jacob进行Word导出PDF
  • 自动部署
  • 前端带路径
  • Linux

    • 应用部署
  • Windows

    • 应用部署
  • 视频监控
  • MySQL系列~
  • 应用高可用
  • 静态代码扫描
  • OpenSSH版本升级
  • 区块链~
  • 软件过程文档目录
  • 著作权申请须知及申报示例
  • 项目申报技巧
  • 项目竣工资料清单
  • 科技项目申报流程及注意事项
  • 初级职称申报
  • 产品需求文档基础知识
  • 产品经理需了解的技术知识
  • 墨刀原型设计指南
  • 文档规范
  • 文档规范
  • 投标工作总结(一)
  • 科技项目申报心得体会
  • 数字孪生
  • AI
  • RSP基础平台
  • RMCloud
  • 区块链
  • 网络态势感知
  • 国产化
  • 数据湖
  • 贡献度
  • 文档编写说明
  • Markdown教程
工作链接
  • Linux

    • Linux 应用部署
  • Windows

  • 自动化部署
  • 前端带路径
    • 一. 背景
    • 二. 如何修改
      • 1. .env.development[staging | production]
      • 2. vue.config.js
      • 3. router下index.js
      • 4. Navbar.vue
      • 5. request.js
      • 6. login.vue (可选)
    • 三. Nginx配置
    • 四. 参考资料
  • 部署
孙超
2022-07-21
目录

前端带路径

# 前端带路径

# 一. 背景

由于服务器资源有限,部署多套系统的时候无法用端口进行区分,决定不同系统使用不同根目录区分,开源版的若依框架有些问题,需要对框架进行修改。

# 二. 如何修改

需要对前端模块(默认ruoyi-ui)如下文件进行修改。例如:根路径为 /risun

# 1. .env.development[staging | production]

在.env.development[staging | production]3个文件中,添加VUE_APP_BASE_URL

## .env.development
VUE_APP_BASE_URL = '/'
## .env.staging
VUE_APP_BASE_URL = '/'
## .env.production
VUE_APP_BASE_URL = '/risun'

# 2. vue.config.js

修改publicPath

// 找到
publicPath: process.env.NODE_ENV === "production" ? "/" : "/"
// 修改为
publicPath: process.env.VUE_APP_BASE_URL,

# 3. router下index.js

为new Router添加base属性

// 找到
export default new Router({
  mode: 'history',
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRoutes
})
// 修改为(其中 base 和 vue.config.js 中保持一致)
export default new Router({
  base: process.env.VUE_APP_BASE_URL,      
  mode: 'history', 
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRoutes
})

# 4. Navbar.vue

Navbar.vue 位于 src/layout/components 下

// 找到
goIndex(){
  location.href = '/index';
}
// 修改为
goIndex(){
  location.href = this.$router.options.base == "/" ? "/index" : this.$router.options.base + '/index'
}

# 5. request.js

request.js 位于 src/utils 下

// 引入
import router from '@/router'

// 找到
location.href = '/index';
// 修改为
location.href = router.options.base == "/" ? "/index" : router.options.base + '/index'

# 6. login.vue (可选)

框架默认的登录可能会出现404,需要进行如下修改

// 找到
handleLogin() {
  ...
  this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
  ...
}

// 修改为
handleLogin() {
  ...
  const uri = this.redirect && this.redirect != '/' ? this.redirect : "/index"
  this.$router.push({path: uri}).catch(() => {});
  ...
}

# 三. Nginx配置

location /risun {
	alias  /data/risun/html;
	try_files $uri $uri/ /risun/index.html/;
	index  index.html index.htm;
}

# 四. 参考资料

  • https://blog.csdn.net/op4439/article/details/121470737
  • https://v3.router.vuejs.org/zh/guide/
自动化部署

← 自动化部署

最近更新
01
vue问题记录
10-11
02
RSP进度
10-09
03
贡献度
09-28
更多文章>
Copyright © 2014-2025 甘肃睿阳科技有限公司 陇ICP备15001783-1号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式