[Vue Router warn]:推送/替换状态类型错误错误:历史记录[(中间值)(中间值)(中间值)]不是函数

Die*_*ego 5 typescript vue.js vue-router

我正在尝试设置 vue 路由器(Vue 3 + Vue 路由器 4),但我不断收到以下错误:

[Vue Router warn]: Error with push/replace State TypeError: history[(intermediate value)(intermediate value)(intermediate value)] is not a function

[Vue Router warn]: Unexpected error when starting the router: TypeError: Cannot read properties of null (reading 'back')

Uncaught TypeError: Cannot read properties of null (reading 'back')
Run Code Online (Sandbox Code Playgroud)

这是我的 main.ts:

import { createApp } from "vue";
import App from "./App.vue";
import store, { storeKey } from "./store/index";

// styling
import "./scss/base.scss";
import router from "./router";

createApp(App).use(router).use(store, storeKey).mount("#app");
Run Code Online (Sandbox Code Playgroud)

这是我的 router.ts 文件:

import {
  createRouter,
  createWebHashHistory,
  Router,
  RouteRecordRaw,
} from "vue-router";
import Home from "@/components/Home.vue";
import FetchInfo from "@/components/FetchInfo.vue";

const routes: RouteRecordRaw[] = [
  {
    path: "/",
    name: "Home",
    component: Home,
  },
  {
    path: "/requests",
    name: "Requests",
    component: FetchInfo,
  },
];

const router: Router = createRouter({
  history: createWebHashHistory(),
  routes,
});

export default router;
Run Code Online (Sandbox Code Playgroud)

我该如何解决上述错误?

我正在使用以下版本:

  • "vue": "^3.2.13",
  • "vue-router": "^4.0.15",
  • "webpack": "^5.72.1",
  • “webpack-dev-server”:“^4.9.0”

dot*_*NET 3

以防万一有人登陆这里并与 Office.js 一起使用 Vue Router,请注意 Office.js 代码中设置window.history.replaceStatewindow.history.pushStateto 的位置存在错误null,这会导致 Vue Router 中断并抛出 OP 中提到的错误。就我而言,它还导致页面不断快速连续地重新加载。

截至 2022 年 12 月,相关问题和 PR 可在此处获取,等待合并。