修改RuoYi部署路径 适配nginx子路径访问

1 官方参考

若依官方文档提供了一种解决方式:前端手册 | RuoYi

 若依文档给的已经很明白了,但如果子路径 /admin 发生改变,修改起来就感觉比较费事了,毕竟要修改4个文件。

这里咱们把子路径抽取出来,放到环境配置文件中.env.development.env.production,

这样如果子路径发生改变,咱们只需要修改一处即可

2 修改步骤

1、在配置文件.env.development中定义一个子路径参数为 /subpath

# 部署后的子路径,对应nginx映射路径
VUE_APP_SUB_PATH = '/subpath'

2、修改vue.config.js中publicPath的值

publicPath: process.env.VUE_APP_SUB_PATH,

3、修改router/index.js,添加一行base属性

export default new Router({
  base: process.env.VUE_APP_SUB_PATH,
  mode: 'history', // 去掉url中的#
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRoutes
})

4、修改layout/components/Navbar.vue中的location.href

location.href = process.env.VUE_APP_SUB_PATH

由于在router/index.js中空值和/index对应同一个路由,这里为了适配子路径为"/"的情况,所以后边不用加/index

5、修改utils/request.js中的location.href

location.href = process.env.VUE_APP_SUB_PATH //+ '/index'

6、nginx的配置

location /subpath {
	alias   /home/ruoyi/projects/ruoyi-ui;
	try_files $uri $uri/ /subpath/index.html;
	index  index.html index.htm;
}

这里有两点需要注意:

        1、nginx配置中是alias而不是root;

        2、 try_files $uri $uri/ /subpath/index.html; “/subpath”要在这里写一次,否则部署后无法刷新。

通过以上的配置,在部署过程中,如果nginx子路径改变,前端代码只需要更改配置文件中 VUE_APP_SUB_PATH = '/subpath'的值即可。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值