因为在history模式下,只是动态的通过js操作window.history来改变浏览器地址栏里的路径,并没有发起http请求,但是当我直接在浏览器里输入这个地址的时候,就一定要对服务器发起http请求,但是这个目标在服务器上又不存在,所以会返回404
我们一般解决Vue下的路径中 # 号的问题是 修改vue-router 的模式为 history
项目搭建的时候使用了 vue-router
export default new Router({
mode: 'history',
base: '/dist/',
routes: [
{
path: '*',
name: 'PromotionAgreement',
component: PromotionAgreement,
},
]
})
vue项目本地访问地址: http://localhost:8080/#/
而在 history 模式下的访问是:http://localhost:8080
但是问题就出在打包后上传到服务器上 访问的时候是一片空白的
这种情况就需要:
1. 修改 vue.config.js 也就是 vue 脚手架的配置文件 publicPath