Vue nprogress进度条插件介绍
实现效果如下:
安装:npm install -save nprogress
用法:
//vue中引用 import NProgress from 'nprogress' import 'nprogress/nprogress.css'
//方法 NProgress.start() - 显示进度条 NProgress.set(0.4) - 设置百分比 NProgress.inc() - 稍微增加 NProgress.done() - 完成进度(进度条消失)
vue中使用: 在路由中使用
//登录前 router.beforeEach((to, from, next) => { NProgress.start(); if (to.path == '/login') { sessionStorage.removeItem('user'); } let user = JSON.parse(sessionStorage.getItem('user')); if (!user && to.path != '/login') { next({ path: '/login' }) } else { next() } }) //登录后 router.afterEach(transition => { NProgress.done(); });
在require.js中引用,在ajax请求前后添加:
//对于axios进行二次封装 import axios from "axios"; //start: 进度条开始 done: 进度条结束 import nprogress from "nprogress"; //如果出现进度条没有显示:一定是你忘记了引入样式了 import "nprogress/nprogress.css"; //底下的代码也是创建axios实例 let requests = axios.create({ //基础路径 baseURL: "/api", //请求不能超过5S timeout: 5000, }); //请求拦截器----在项目中发请求(请求没有发出去)可以做一些事情 requests.interceptors.request.use((config) => { //现在的问题是config是什么?配置对象 //可以让进度条开始动 nprogress.start(); return config; }); //响应拦截器----当服务器手动请求之后,做出响应(相应成功)会执行的 requests.interceptors.response.use( (res) => { //进度条结束 nprogress.done(); //相应成功做的事情 return res.data; }, (err) => { alert("服务器响应数据失败"); } ); //最终需要对外暴露(不对外暴露外面模块没办法使用) //这里的代码是暴露一个axios实例 export default requests;
怎样修改进度条的颜色?
找到nprogress.css文件中的样式
#nprogress .bar { background: #29d; position: fixed; z-index: 1031; top: 0; left: 0; width: 100%; height: 2px; }
业务需求变更永无休止,技术前进就永无止境!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了