先放上大佬的文章链接,我怕大佬不分享了。所以自己留一份。最好是看大佬的,我的比较简介 地址:如何在Vue3+TS的项目中使用NProgress进度条NProgress是一个轻量级的进度条组件,在Github上已经 - 掘金
一、引包
因为是ts所以必须引入@types/nprogress
npm i nprogress -S
npm i @types/nprogress -D
二、封装工具方法
现在我们对NProgress进行一下简单的封装,首先我们在utils目录下创建要给nporgress.ts的文件,然后引入NProgress和CSS样式文件,示例代码如下:
// nporgress.ts
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
//全局进度条的配置
NProgress.configure({
easing: 'ease', // 动画方式
speed: 1000, // 递增进度条的速度
showSpinner: false, // 是否显示加载ico
trickleSpeed: 200, // 自动递增间隔
minimum: 0.3, // 更改启动时使用的最小百分比
parent: 'body', //指定进度条的父容器
})
// 打开进度条
export const start = () => {
NProgress.start()
}
// 关闭进度条
export const close = () => {
NProgress.done()
}
三、封装好工具后,然后就在路由里面使用了
现在我们就来使用我们上面封装的Nprogress,这里我们在VueRouter的配置文件中使用,实现切换路由时在顶部展示进度条,首先我们打开VueRouter的配置文件,然后引入我们封装的Nprogress:
// router/index.ts
import { close, start } from '@/utils/nporgress'
然后再路由拦截器前后加上进度条开始和结束的方法就好了
// router/index.ts
router.beforeEach((pre, next) => {
start()
})
router.afterEach(() => {
close()
})