试图实现vue路由器。获取错误:
Cannot read property 'forEach' of undefined
at createRouterMatcher
Vue版本:@vue/cli 4.5.9。我有两个视图/页面已经格式化并准备实现。我的主页基本上是index.vue。我试过和index.js和main.js一起玩,但似乎没能让它发挥作用。
src/main.js
import { createApp } from 'vue'
import { routes } from './router/index'
import { createRouter, createWebHistory } from 'vue-router'
require('dotenv').config();
import App from './App.vue'
import './index.css'
let app = createApp(App)
let router = createRouter({
history: createWebHistory(),
routes,
})
app.use(router)
app.mount('#app')
src/路由器/index.js
import Index from '../views/index.vue'
import About from '../views/about.vue'
const routes = [
{
path: "/",
name: "Index",
component: Index
},
{
path:"/about",
name: "About",
component: About
}
]
export default routes;
src>App.vue
<template>
<div id="app">
<router-view/>
</div>
</template>
<script>
export default {
name: 'App',
}
</script>
我的观点index.vue和about.vue都有相应的export default { name: 'pagename'}
发布于 2021-03-14 04:20:46
您使用的是默认导出,这意味着routes
不是一个命名的导出,不应该使用括号。这将解决问题:
import routes from './router/index' // no brackets
但是,我建议执行路由器文件中的所有路由器设置,并导出路由器而不是路由:
路由器/index.js
import { createRouter, createWebHistory } from 'vue-router'
import Index from '../views/index.vue'
import About from '../views/about.vue'
const routes = [
{
path: "/",
name: "Index",
component: Index
},
{
path:"/about",
name: "About",
component: About
}
]
let router = createRouter({
history: createWebHistory(),
routes,
})
export default router;
main.js
import { createApp } from 'vue'
import router from './router/index'
require('dotenv').config();
import App from './App.vue'
import './index.css'
let app = createApp(App)
app.use(router)
app.mount('#app')
https://stackoverflow.com/questions/66620955
复制相似问题