Vue webpack正在将#/添加到所有URL

2022-03-28 00:00:00 vue.js vue-router webpack

我正在使用vue init webpack test跟踪一些Vue项目,但似乎在运行npm run dev时,所有URL都附加了#/

当我创建一个新组件并将其路由到该组件时,也是如此。如果我执行类似http://localhost:8080/newpath的操作,它将变成http://localhost:8080/newpath#/

是否可以设置配置变量,使#/不会附加到每个URL?使用正则表达式在每个URL上删除它似乎真的很笨拙。

我没有包含任何实际的源代码,因为它来自vue init创建的HelloWorld应用程序。

我使用的是VUE线索3的最新版本。


解决方案

来自HTML5 History Mode文档:

VUE路由器的默认模式是散列模式-它使用URL散列 模拟完整的URL,以便在使用URL时不会重新加载页面 更改。

因此您需要将VUE路由器更改为使用HTML5历史模式:

const router = new VueRouter({
  mode: 'history',
  routes: [...]
});

此外,还请继续阅读文档,因为您需要调整实际服务器配置以支持此模式,以便用户在将地址栏URL复制并粘贴到新选项卡时将被发送到适当的位置。

相关文章