1.修改mode
const router = new VueRouter({
mode: "history", // 默认"hash"
routes
});
2.添加base
const router = new VueRouter({
mode: "history",
base: process.env.BASE_URL, // 如果使用history模式,必须设置base参数
routes
});
base的值可自定义变量或使用BASE_URL
方案一:
自定义变量如VUE_APP_BASE_URL
1)环境配置中添加VUE_APP_BASE_URL='/项目名/'
2)配置为base: process.env.VUE_APP_BASE_URL
方案二:
使用系统变量process.env.BASE_URL
1)配置为base: process.env.BASE_URL
2)修改publicPath为'/项目名/' (process.env.BASE_URL使用的publicPath)
vue-cli3的源码部分:@vue/cli-service/lib/util/resolveClientEnv.js
更低版本的vue-router使用的baseUrl,配置baseUrl即可