我正在使用vue init webpack test
跟踪一些Vue项目,但是在运行npm run dev
时,似乎总是在所有URL后面附加一个#/
。
当我创建一个新组件并路由到它时也是如此。如果我做类似http://localhost:8080/newpath
的操作,它将变成http://localhost:8080/newpath#/
。
是否可以设置一个配置变量,以使#/
不会附加到每个URL?使用正则表达式在每个URL上将其删除似乎真的很麻烦。
我没有包括任何实际的源代码,因为这是vue初始化创建的HelloWorld应用程序的代码。
我正在使用vue cli 3的最新版本。
答案 0 :(得分:2)
摘自HTML5 History Mode上的文档:
vue-router的默认模式是哈希模式-它使用URL哈希来 模拟完整的URL,以便在URL时不会重新加载页面 变化。
因此,您需要更改Vue路由器以使用HTML5历史记录模式:
const router = new VueRouter({
mode: 'history',
routes: [...]
});
此外,请继续阅读文档,因为您将需要调整实际的服务器配置以支持此模式,以便在用户将地址栏URL复制并粘贴到新标签后将其发送到适当的位置。< / p>