📌  相关文章
📜  Vue3“在'vue-router'中找不到导出'createWebHistory,createRouter' (1)

📅  最后修改于: 2023-12-03 15:05:53.423000             🧑  作者: Mango

介绍Vue3在vue-router中找不到导出createWebHistory和createRouter

问题描述

近期,许多开发者在使用Vue3进行开发时,发现在vue-router中找不到导出createWebHistory和createRouter的方法,导致无法使用Vue Router进行路由管理。

问题解答

第一个问题是createWebHistory。事实上,Vue3的新版本中,createWebHistory 方法已经被重命名为createWebHashHistory,以反映其使用的是新的hash模式而不是HTML5历史记录API。有关更多信息,请参阅vue-router文档。

以下代码展示如何使用Vue3的vue-router库:

import { createRouter, createWebHashHistory } from 'vue-router'
import Home from './views/Home.vue'

const routes = [
  {
    path: '/',
    name: 'home',
    component: Home
  }
]

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

export default router

此处使用了createWebHashHistory方法,创建了一个新的hash模式历史记录,该模式适用于大多数浏览器。

第二个问题是createRouter。createRouter是Vue Router 4.x中新引入的方法。在Vue3中,我们必须用Vue Router 4.x来创建路由器,否则就无法使用createRouter方法。Vue Router 4.x旨在更好地支持Vue3,并提供了更好的类型支持和更好的性能。更新详情可查看vue-router文档。

以下代码展示如何在Vue3中使用createRouter方法:

import { createRouter, createWebHashHistory } from 'vue-router'
import Home from './views/Home.vue'

const routes = [
  {
    path: '/',
    name: 'home',
    component: Home
  }
]

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

export default router

如上所示,我们使用createRouter方法创建了一个Vue Router实例,并指定了路由历史记录和路由列表。

总结

在使用Vue3时,我们需要注意Vue Router的新版本和一些修改,例如createWebHistory被重命名为createWebHashHistory。另外,我们需要使用Vue Router的新版本4.x来创建路由器,并使用createRouter方法来创建路由实例。如果我们不了解这些变化,可能会导致无法使用Vue Router进行路由管理。