Vue.js 3 - 为什么在这种情况下导入 vue-router 不起作用?
Vue.js 3 - Why is importing vue-router not working in this case?
我有以下文件
router.js
import VueRouter from 'vue-router'
export const router = VueRouter({
routes: [
{
...
}
]
})
main.js
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
...
import { router } from './router'
app.use(router)
...
app.mount('#app')
然而,在执行此操作时,我收到以下未捕获错误 TypeError: this is undefined - vue-router.esm.js:2828
这似乎是 vue-router 库中的一个错误,因为错误发生在第 2828 行。
这是通过尝试导入 vue-router 而不尝试在应用程序的其他任何地方使用它来实现的,我也使用 vuex 并以相同的方式导入 export/import 存储并且它有效。
我的猜测是我错误地导入了 vue-router,因为文档在示例中没有使用 {createApp}
。是我输入错了,还是有其他原因导致它不起作用?
首先确保您已经安装了 vue router 4 使用:
npm install vue-router@next
然后导入 createRouter
以创建路由器实例:
import { createRouter,createWebHistory} from 'vue-router'
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes: [
{
...
}
]
})
我有以下文件
router.js
import VueRouter from 'vue-router'
export const router = VueRouter({
routes: [
{
...
}
]
})
main.js
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
...
import { router } from './router'
app.use(router)
...
app.mount('#app')
然而,在执行此操作时,我收到以下未捕获错误 TypeError: this is undefined - vue-router.esm.js:2828
这似乎是 vue-router 库中的一个错误,因为错误发生在第 2828 行。
这是通过尝试导入 vue-router 而不尝试在应用程序的其他任何地方使用它来实现的,我也使用 vuex 并以相同的方式导入 export/import 存储并且它有效。
我的猜测是我错误地导入了 vue-router,因为文档在示例中没有使用 {createApp}
。是我输入错了,还是有其他原因导致它不起作用?
首先确保您已经安装了 vue router 4 使用:
npm install vue-router@next
然后导入 createRouter
以创建路由器实例:
import { createRouter,createWebHistory} from 'vue-router'
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes: [
{
...
}
]
})