vue配置nprogress实现页面顶部进度条
本文实例为大家分享了vue配置nprogress实现页面顶部进度条的具体代码,供大家参考,具体内容如下
1. 安装
npm install nprogress --save
2. 在main.js中导入
源码~~~~~~方便你复制
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import iView from 'iview'
import 'iview/dist/styles/iview.css'
import moment from './plugins/moment'
import axios from './plugins/axios'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import { base } from './router/config'
Vue.use(iView)
Vue.use(moment)
Vue.use(axios)
Vue.config.productionTip = false
// 配置NProgress进度条选项 —— 动画效果
NProgress.configure({ ease: 'ease', speed: 500 })
// 全局路由拦截-进入页面前执行
router.beforeEach((to, from, next) => {
if (to.path === `${base}login`) {
return next()
}
// token验证,如果存储在sessionStorage里的auth的值丢失,就回到登陆页面,(开发时可以注释掉)
// if (!sessionStorage.getItem('auth')) {
// return next(`${base}login`)
// }
// 如果页面在 / 默认页面,跳转到登陆页面(和vue路由重定向功能类似)
if (to.path === `${base}`) {
return next(`${base}login`)
}
// NProgress开始进度条
NProgress.start()
next()
})
// 全局后置钩子-常用于结束动画等
router.afterEach(transition => {
// NProgress结束进度条
NProgress.done()
// console.log(transition)
})
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
以上是 vue配置nprogress实现页面顶部进度条 的全部内容, 来源链接: utcz.com/z/328342.html