路由配置
1.创建路由
首先在main.js
文件中引入vue-router
和路由对象,之后将路由配置挂载到根实例中
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter) //挂载到vue对象中
import router from '@/routers/' //路由配置对象
new Vue({
router, //挂载到根实例对象app上,这里必须叫router,也可以router:其他名字
render: (h) => h(App),
}).$mount('#app')
2.批量注册路由
首先在routers
文件夹中包含所有的路由文件
--common.js 通用路由配置文件
--people.js 具体项目路由文件
--index.js 引入其他路由文件
在index.js
中引入所有的路由文件
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
let routes = []
const requireContext = require.context('./', true, /\.js$/) //加载其他路由文件
requireContext.keys().forEach((filename) => {
if (filename === './index.js') {
return
}
const routeModule = requireContext(filename) // 获取文件内容
routes = [...routes, ...routeModule.default] // 合并两个数组内容
})
const router = new VueRouter({
routes,
}) //生成router实例
//最后添加404守卫路由
router.addRoutes([
{
path: '*',
name: '404',
component: () => import('@/views/404.vue'),
},
])
//配置全局路由守卫
router.beforeEach((to, from, next) => {
Nprogress.start()
document.title = from.meta.title
next()
})
router.afterEach((to, from) => {
console.log(from.name)
document.title = to.meta.title
Nprogress.done()
})
export default router
3.路由配置
例如我在common.js
文件中,配置了项目中通用的一些路由;包括404页面等。
export default [
{
path: '/404',
name: 'pge404',
component: () => {
return import('../views/404.vue') //引入404组件
},
meta: { title: '404' },
},
]
在这里我遇到了一个不起眼的小问题,就是在使用箭头函数导入404组件的时候,没有用return导致这个路由无效了
错误代码
component: () => { import('../views/404.vue') //引入404组件 },
4.配置切换路由动画
Last updated
Was this helpful?