vue使用去掉路由上面的#,打包后请求404或者空白页

时间:2024-05-31 12:32:17

首先我是一个后端,自己写了点vue的东西,但是启动发现路由总是多了一个#,蓝瘦!!!
百度发现在router/index.js加 mode: ‘history’, 就ok了
vue使用去掉路由上面的#,打包后请求404或者空白页
网上说他默认是hash模式的,具体区别我百度放下面了
可选值 : ‘hash’ | ‘history’ | ‘abstract’
hash: 使用 URL hash 值来作路由。支持所有浏览器,包括不支持 HTML5 History Api 的浏览器。
history: 依赖 HTML5 History API 和服务器配置。点击查看官方HTML5 History 模式说明.
abstract: 支持所有 JavaScript 运行环境,如 Node.js 服务器端。如果发现没有浏览器的 API,路由会自动强制进入这个模式。
开发的时候我发现确实解决了我的问题,没#号了;

hover,当然有然后,要不然我的博客就不需要写了…
项目总是要部署的不是,自己写点东西总是希望可以让别人看看嘛,已部署发现问题了
请求不到我的页面了;
网上说需要把 config\index.js 的 assetsPublicPath改成“/”
vue使用去掉路由上面的#,打包后请求404或者空白页
如果你的静态资源是直接放在nginx的根文件夹下的话,照理说其实是可以解决的,又去build丢到服务器上去了
但是我的不是我的项目是在0.0.0.0:80/platform下的
vue使用去掉路由上面的#,打包后请求404或者空白页
vue使用去掉路由上面的#,打包后请求404或者空白页
所以我刚刚改动的那两个文件需要加点料了,就是我标红的地方;
原因:说到底还是路径问题,/开头使用的是绝对路径
我部署之后总算可以访问到了,但是F5一下之后,整个人又不好了,特喵的,又不行了
百度了很多,最后

vue使用去掉路由上面的#,打包后请求404或者空白页
加这句话解决了
try_files $uri $uri/ /platform/index.html;

原因:
#$uri为变量,代表你访问的地址。
#上面配置的意思大概是,如果访问platform/文件夹下面的某个文件,找不到时就返回/platform/下面的index.html文件

最后是我个人项目的问题及解决,我不是专业的前端,但是路径问题其实也不分前后端,只是他的一些配置我还是不太了解,希望对你有用.