我在VueJs2(cli 3)版本中遇到这个奇怪的问题,那就是Vue自动从URL中删除了父路径。
routes.js文件中有以下路由
import Home from "../views/Home";
import Login from "../views/Login";
const router = [
{
path: '/wh',
component: {
template: '<router-view></router-view>'
},
children: [
{
path: "/home",
name: "home",
component: Home
},
{
path: "/login",
name: "login",
component: Login
},
],
},
];
export default router;
这是我的router.js文件
import Vue from "vue";
import Router from "vue-router";
import routes from './routes'
Vue.use(Router);
const router = new Router({
mode: 'history',
routes: routes,
scrollBehavior(to, from, savedPosition) {
return {x: 0, y: 0}
}
});
我的main.js(其中包含路由器)
import App from "./App.vue";
import router from "./router/router";
import store from "./store/store";
new Vue({
store,
router,
render: h => h(App)
}).$mount("#app");
还有我的vue.config.js
module.exports = {
devServer: {
proxy: "http://my.app.test"
},
outputDir: "public/assets/myApp/app/",
filenameHashing: true,
runtimeCompiler: true,
productionSourceMap: true,
};
问题出在下面。网址参数中始终缺少/wh
。我单击或执行的任何操作都将自动重定向到登录页面/wh
,但我的应用程序运行正常。我已经尝试在publicPath: '/wh'
中设置vue.config.js
,并且所有操作都与现在相同。那么,如何正确配置路由,以便在其他子路径之前的URL中看到/wh
?
如果您需要任何其他信息,请告诉我,我会提供。谢谢!
答案 0 :(得分:1)
在index.html
部分<head>
的{{1}}中添加