Vue项目配置路由以及设置路由守卫的正确方式(无坑可食用)

简介: Vue项目配置路由以及设置路由守卫的正确方式(无坑可食用)

一、首先安装路由插件

cnpm install vue-router --save-dev

二、新建一个router文件夹,文件下新建一个index.js文件

37bbc4f414b742e799ea03ae43ffd296.png

三、index.js中引入router,代码如下

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export const constantRoutes = [
  {
    path: '/PixiDemo',
    component: () => import('@/components/PixiExample/PixiDemo.vue'),
    hidden: true
  },
  {
    path: '/PixiRope',
    component: () => import('@/components/PixiExample/PixiRope.vue'),
    hidden: true
  },
  { path: '*', redirect: '/PixiDemo', hidden: true }
]
const createRouter = () =>
  new Router({
    // mode: 'history', // require service support
    scrollBehavior: () => ({ y: 0 }),
    routes: constantRoutes
  })
const router = createRouter()
// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
export function resetRouter() {
  const newRouter = createRouter()
  router.matcher = newRouter.matcher // reset router
}
export default router

scrollBehavior 是为了每次跳转路由页面都是在最顶部

四、在根目录下创建promission.js文件,里面配置路由守卫

import Axios from 'axios'
import router from './router'
router.beforeEach(async(to, from, next) => {
  Axios.get(url).then(res => {
    localStorage.setItem('syslogin', res.data)
  }).catch(error => {
    // window.location.href = 'http://www.baidu.com'
    this.$message({
      message: '用户信息不正确',
      type: 'warning'
    })
    console.log(error)
  })
  next()
})
router.afterEach(() => {
  // finish progress bar
  // NProgress.done()
})

五、main.js引入

import router from './router'

import '@/permission'

new Vue({

 router,

 render: h => h(App)

}).$mount('#app')

import Vue from 'vue'
import App from './App.vue'
import 'cesium/Widgets/widgets.css'
import 'leaflet/dist/leaflet.css'
import 'leaflet-velocity/dist/leaflet-velocity.css'
import * as echarts from 'echarts'
import router from './router'
import '@/permission'
Vue.config.productionTip = false
Vue.prototype.$echarts = echarts
new Vue({
  router,
  render: h => h(App)
}).$mount('#app')


目录
打赏
0
0
0
0
1
分享
相关文章
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
795 4
"Vue实战技巧大揭秘:一招解决路由跳转页面不回顶部难题,让你的单页面应用用户体验飙升!"
【10月更文挑战第23天】在Vue单页面应用中,点击路由跳转时,默认情况下页面不会自动滚动到顶部,这可能影响用户体验。本文通过一个新闻网站的案例,介绍了如何使用Vue-router的全局前置守卫和`scrollBehavior`方法,实现路由跳转时页面自动滚动到顶部的功能,提升用户浏览体验。
176 0
路由管理:Vue Router的使用和配置技巧
【10月更文挑战第21天】路由管理:Vue Router的使用和配置技巧
85 3
Vue 代理设置
【10月更文挑战第14天】Vue 代理设置是 Vue 项目开发中非常重要的一个环节。通过合理的代理设置,我们可以解决跨域问题,提高开发效率和用户体验。
59 1
vue 批量自动引入并注册组件或路由等等
【10月更文挑战第12天】 vue 批量自动引入并注册组件或路由等等
Vue中的class和style绑定
在 Vue 中,class 和 style 绑定是基于数据驱动视图的强大功能。通过 class 绑定,可以动态更新元素的 class 属性,支持对象和数组语法,适用于普通元素和组件。style 绑定则允许以对象或数组形式动态设置内联样式,Vue 会根据数据变化自动更新 DOM。
Vue Router 核心原理
Vue Router 是 Vue.js 的官方路由管理器,用于实现单页面应用(SPA)的路由功能。其核心原理包括路由配置、监听浏览器事件和组件渲染等。通过定义路径与组件的映射关系,Vue Router 将用户访问的路径与对应的组件关联,支持哈希和历史模式监听 URL 变化,确保页面导航时正确渲染组件。
Vue Router 简介
Vue Router 是 Vue.js 官方的路由管理库,用于构建单页面应用(SPA)。它将不同页面映射到对应组件,支持嵌套路由、路由参数和导航守卫等功能,简化复杂前端应用的开发。主要特性包括路由映射、嵌套路由、路由参数、导航守卫和路由懒加载,提升性能和开发效率。安装命令:`npm install vue-router`。
ry-vue-flowable-xg:震撼来袭!这款基于 Vue 和 Flowable 的企业级工程项目管理项目,你绝不能错过
基于 Vue 和 Flowable 的企业级工程项目管理平台,免费开源且高度定制化。它覆盖投标管理、进度控制、财务核算等全流程需求,提供流程设计、部署、监控和任务管理等功能,适用于企业办公、生产制造、金融服务等多个场景,助力企业提升效率与竞争力。
69 12

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等