vuejs — маршрутизатор переходит на домашнюю страницу при обновлении

#javascript #vue.js

#javascript #vue.js

Вопрос:

У меня следующая проблема с моим приложением vuejs. Каждое обновление на странице, отличной от домашней страницы, приводит к перенаправлению на домашнюю страницу.

Вот мой router.js

 import VueRouter from "vue-router";
import Home from "../views/Home.vue";

Vue.use(VueRouter);

const routes = [
  {
    path: "/",
    name: "Home",
    component: Home
  },
  {
    path: "/project/:slug",
    name: "Project",
    component: () =>
      import(/* webpackChunkName: "about" */ "../views/Project.vue")
  },
  {
    path: "/projecttimeline/",
    name: "ProjectTimeline",
    component: () =>
      import(/* webpackChunkName: "about" */ "../views/ProjectTimeline.vue")
  },
  {
    path: "/privacypolicy/",
    name: "PrivacyPolicy",
    component: () =>
      import(/* webpackChunkName: "about" */ "../views/PrivacyPolicy.vue")
  }
];

const router = new VueRouter({
  routes,
  scrollBehavior() {
    document.getElementById("app").scrollIntoView({ behavior: "instant" });
  }
});

router.beforeEach((to, from, next) => {
  if (!to.query.lang) {
    var setLocale = from.query.lang || "ro";
    to.query.lang = setLocale;
    next({ path: to.path, query: to.query });
  } else {
    next();
  }
});

export default router;

 

Это что-то связанное с историей vue?

Комментарии:

1. итак, вы используете vue-router в режиме хэширования?

2. я думаю, что это поведение vue-маршрутизатора

3. верно, хэш по умолчанию.

4. @Bravo может ли это быть связано с настройками сервера?

5. если вы хотите использовать режим истории, вам необходимо правильно настроить сервер — как описано в документации vue-router — однако, похоже, вы не используете режим истории, так что это спорный вопрос