nginx部署vue history

事情是这样的,一开始本地开发使用hash模式,后来改为history模式,部署到线上一看???, App。vue渲染了,router-view没渲染?什么鬼?
在这里插入图片描述
看了下vue-router配置

const router = new VueRouter({
  base:'/haiwai/aa/temp/',
  mode:'history',
  routes,
});

在看下nginx配置

location /haiwai/aa/temp {
	root html/;
	try_files $uri $uri/ /haiwai/aa/temp/index.html;
}

再看下vue.config.js配置

publicPath:  "./",

好像不太行,官方文档也提及到了,在使用history api时避免使用相对路径
在这里插入图片描述
修改一下vue.config.js

publicPath: "/haiwai/aa/temp/"

重新部署一下,nice啊,正常展示了

使用history模式总结

  1. 将路由base修改为nginx路径保持一致
  2. vue.config.js的publicpath也保持一致
  3. 修改nginx配置如下,注意路径与nginx目录保持一致,root: html/;也是必须的,重点!!
location /haiwai/aa/temp {
	root html/; 
	try_files $uri $uri/ /haiwai/aa/temp/index.html;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值