当前位置: 首页 > 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();//...}
);
http://www.lryc.cn/news/232014.html

相关文章:

  • Android MQTT开发之 Hivemq MQTT Client
  • 【Maven教程】(十一):使用 Maven 构建 Web应用 —— 使用 jetty-maven-plugin 进行测试、使用 Cargo 实现自动化部署~
  • 番外 2 : LoadRunner 的安装以及配置
  • win10正确配置tensorRT环境
  • C++初阶-模板初阶
  • 基于Python实现汽车销售数据可视化【500010086】
  • dist.init_process_group() 卡住超时导致报错
  • RESTFul API:真是让人又爱又恨
  • 【洛谷 P1478】陶陶摘苹果(升级版)题解(多重集合+贪心算法)
  • 使用WebSocket实现网页聊天室
  • 《如何控制 LLM 的输出格式和解析其输出结果?》
  • 《网络协议》07. 其他协议
  • 高压放大器设计要求有哪些内容
  • 1700亿烧光,利润暴跌78%!外媒:中芯国际不是麒麟9000S的代工厂
  • 简单理解路由重分发(用两路由器来理解)
  • 什么是等保测评?
  • 21、Flink 的table API与DataStream API 集成(1)- 介绍及入门示例、集成说明
  • (免费领源码)Java#SpringBoot#mysql高校实验室资产管理系统85189-计算机毕业设计项目选题推荐
  • 高效能人士的七个习惯
  • 【前端】使用json-server报错
  • 【Git企业开发】第七节.多人协作开发
  • 行情分析——加密货币市场大盘走势(11.16)
  • ICCV 23丨3D-VisTA:用于 3D 视觉和文本对齐的预训练Transformer
  • SFP-10G-SR光模块指南
  • 使用Java实现一个简单的贪吃蛇小游戏
  • 智能运维监控告警6大优势
  • 保姆级使用Vue-count-to
  • install YAPI MongoDB 备份mongo 安装yapi插件cross-request 笔记
  • 无线WiFi安全渗透与攻防(N.4)WPA-hashcat渗透
  • 使用VSCode进行Python模块调试