当前位置: 首页 > news >正文

[Vue 配置] Vite + Vue3 项目配置和使用 NProgress

文章归档:https://www.yuque.com/u27599042/coding_star/mfmsrf9tz98ox3qg

安装

pnpm i nprogress

配置 NProgress

其他更多可参考,仓库地址:https://github.com/rstacruz/nprogress

在 src/config/nprogress.js 中进行配置

是否展示右上角圆圈加载动画

NProgress.configure({ showSpinner: false
});

设置样式

src/styles/nprogress.css

#nprogress .bar {/* 自定义进度条颜色 */background: #fa2c19 !important;
}#nprogress .peg {/* 自定义进度条阴影颜色 */box-shadow: 0 0 10px #fa2c19, 0 0 5px #fa2c19 !important;
}

启动时进度的最小百分比

默认 0.08

NProgress.configure({ minimum: 0.1
});

进度条动画和速度

动画可选值:

  • linear:动画从开始到结束保持相同的速度。
  • ease:默认值,动画有一个缓慢的开始,然后加速,在结束之前又变慢。
  • ease-in:动画有一个缓慢的开始。
  • ease-out:动画有一个缓慢的结束。
  • ease-in-out:动画有一个缓慢的开始和一个缓慢的结束。
  • cubic-bezier(n,n,n,n):在三次贝塞尔(cubic-bezier)函数中定义自己的值。可以是从 0 到 1 之间的数字值。
NProgress.configure({ easing: 'ease', speed: 500
});

关闭自动递增

默认 true

NProgress.configure({ trickle: false
});

进度条递增速度

单位毫秒,多久自动递增一次

NProgress.configure({ trickleSpeed: 200
});

指定父容器

默认 body

NProgress.configure({ parent: '#container'
});

引入

在 main.js 中引入 nprogress 配置和样式

import "nprogress/nprogress.css" // nprogress 样式
import "@/styles/nprogress.css" // 自定义修改 nprogress 
import '@/config/nprogress.js' // nprogress 配置

使用

// 在需要使用的地方导入
import NProgress from 'nprogress'// 开启进度条
NProgress.start()// 结束进度条
NProgress.done()// 设置进度条百分比,n 取值 0 - 1
NProgress.set(n)// 获取进度条状态
NProgress.status()// 增加进度条进度,但不会到 100%,n 取值 0 - 1
NProgress.inc(n);

vue router 中使用

// 全局前置守卫
router.beforeEach(async(to, from, next) => {// 开启进度条NProgress.start();
}// 全局后置守卫
router.afterEach(() => {// 结束进度条NProgress.done();
});

axios 中使用

//请求拦截器
instance.interceptors.request.use((config) => {// 开启进度条NProgress.start();//...},(error) =>{// 结束进度条NProgress.done();//...}
);//响应拦截器
instance.interceptors.response.use((response) => {//响应成功// 结束进度条NProgress.done();//...},(error) => {// 结束进度条NProgress.done();//...}
);

相关文章:

  • 【Python大数据笔记_day10_Hive调优及Hadoop进阶】
  • Sentinel 熔断规则 (DegradeRule)
  • 基于spring gateway 的静态资源缓存实现
  • 求臻医学张怡然博士,肿瘤基因检测“解码之旅”的践行者
  • 酷开会员 | 酷开系统壁纸模式,感受无法言说的灵魂震颤
  • Golang之火爆原因
  • 【原创】java+swing+mysql通讯录管理系统设计与实现
  • CSS样式穿透
  • 人脸106和240点位检测解决方案
  • 力扣labuladong一刷day11拿下打家劫舍问题共3题
  • 【AI视野·今日Robot 机器人论文速览 第六十五期】Mon, 30 Oct 2023
  • 除了chatGPT网站外,国内有些可以使用的AI网站 文心一言 讯飞星火 豆包 通义千问 人工智能网站 AI网站
  • 爱上C语言:操作符详解(下)
  • 软路由R4S+iStoreOS实现公网远程桌面局域网内电脑
  • Python中神奇的「type」,即可查看类型,又可以创建对象
  • python3.6+scrapy+mysql 爬虫实战
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 2017 年终总结 —— 在路上
  • AHK 中 = 和 == 等比较运算符的用法
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • ES2017异步函数现已正式可用
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • java概述
  • jdbc就是这么简单
  • JS学习笔记——闭包
  • Linux各目录及每个目录的详细介绍
  • 读懂package.json -- 依赖管理
  • 码农张的Bug人生 - 见面之礼
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 你真的知道 == 和 equals 的区别吗?
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 深入浏览器事件循环的本质
  • 手写一个CommonJS打包工具(一)
  • 算法-图和图算法
  • 一个完整Java Web项目背后的密码
  • 正则表达式
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • (09)Hive——CTE 公共表达式
  • (2015)JS ES6 必知的十个 特性
  • (3)STL算法之搜索
  • (39)STM32——FLASH闪存
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (floyd+补集) poj 3275
  • (二开)Flink 修改源码拓展 SQL 语法
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • ******IT公司面试题汇总+优秀技术博客汇总
  • ... 是什么 ?... 有什么用处?
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET Core 中的路径问题
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .net解析传过来的xml_DOM4J解析XML文件
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • /etc/fstab 只读无法修改的解决办法