NProgress 是一个轻量级的进度条库,由于 Element Plus 本身是没有进度条组件的,所以记录一下 NProgress 的用法。
在项目中安装
使用 npm:
1
| npm install --save nprogress
|
安装其类型申明文件:
1
| npm i @types/nprogress -D
|
简单封装
utils
目录下新建 nprogress.ts
:
1 2 3 4 5 6 7 8 9 10 11 12
| import NProgress from 'nprogress' import 'nprogress/nprogress.css' NProgress.configure({ easing: 'ease', speed: 500, showSpinner: true, trickleSpeed: 200, minimum: 0.3 }) export default NProgress
|
Vue 中切换路由时使用
1 2 3 4 5 6 7 8 9 10 11 12 13
|
import NProgress from '@/config/nprogress'
...
router.beforeEach((pre, next) => { NProgress.start() })
router.afterEach(() => { NProgress.done() })
|
Axios 请求时使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| import axios from 'axios' import NProgress from 'nprogress'
request.interceptors.request.use( function (config) { NProgress.start() return config }, function (error) { return Promise.reject(error) } )
request.interceptors.response.use( function (response) { NProgress.done() return response.data }, function (error) { NProgress.done() return Promise.reject(error) } )
|