vue中使用nprogress等待加载

1、安装

npm install nprogress --save 

2、main.js中引入样式

import 'nprogress/nprogress.css'

3、使用
router.js中

//导入
import NProgress from 'nprogress'

router.beforeEach((to, from, next) => {
  NProgress.start()
  next()
})

router.afterEach(() => {
  NProgress.done()
})

或reqeust.js中

//导入
import NProgress from 'nprogress'

service.interceptors.request.use(
  config => {
    config.headers['accept'] = 'application/json'
    NProgress.start()
    return config
  },
  error => {
    console.log(error)
    return Promise.reject(error)
  }
)
service.interceptors.response.use(
  response => {
    NProgress.done()
    const res = response.data
    if (res.code !== 200) {
      return Promise.reject(new Error(res.message || 'Error'))
    } else {
      return res
    }
  },
  error => {
    if (error.response) { // 登录有问题 后端不返回401,直接报错
      Notify({
        type: 'danger',
        message: error.response.data.message,
        duration: 5 * 1000
      })
    } else {
      Notify({
        type: 'danger',
        message: error.message,
        duration: 5 * 1000
      })
    }
    return Promise.reject(error)
  }
)
export default service
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容