vue.js - 我似乎无法从网站上删除 # 符号
问题描述
我的网站是https://jaylanthedev.com/#/但出于某种原因,它需要 # 签名才能访问不是主页的任何其他页面。我很困惑为什么会这样。这是一个托管在 azure 上的 vue 应用程序,谷歌搜索后我无法做到这一点。也不确定这是 vue 问题还是 azure 问题。有人有想法么?
例如:有效: https : //jaylanthedev.com/#/about 无效:https ://jaylanthedev.com/about
解决方案
如果您在这里阅读:
https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations
vue-router 的默认模式是哈希模式——它使用 URL 哈希来模拟一个完整的 URL,这样当 URL 发生变化时页面就不会重新加载。
所以 Vue 有一个默认的哈希值来加载它的路由。切换到历史模式:
const router = new VueRouter({
mode: 'history',
routes: routes
})
但是 - 这意味着您需要一个服务器来呈现您的页面。您需要让您的客户端在 express 或任何类似的节点服务器上运行,以便它可以在不重新渲染的情况下路由页面。
推荐阅读
- javascript - 在 $_GET 查询 url 中使用 '+' 而不是 %2C'
- html - 如何找到css的图像路径
- php - 如何在 PHP 中对 CSV 文件进行排序而不将整个文件加载到内存中?
- regex - 正则表达式、反向引用和交替
- python - 32 位 Python 脚本调用在 64 位 virtualenv 中运行的多处理
- java - 交换链表算法的相邻元素
- ios - 当引脚关闭时,MKMapView 不会去集群
- c# - 多输入数据验证
- java - 本地主机不能在不同的计算机上工作,但在同一个网络上(Java 套接字)
- c++ - 使用另一个指针对 `unique_ptr` 拥有的对象调用`delete`