首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在Vue使用NProgress加载进度条

在Vue使用NProgress加载进度条

作者头像
不愿意做鱼的小鲸鱼
发布于 2022-09-24 01:05:47
发布于 2022-09-24 01:05:47
1K03
代码可运行
举报
文章被收录于专栏:web全栈web全栈
运行总次数:3
代码可运行

NProgress是页面跳转是出现在浏览器顶部的进度条 官网:http://ricostacruz.com/nprogress/ github:https://github.com/rstacruz/nprogress

1. 安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install --save nprogress 
// 或者
yarn add nprogress

//用法
NProgress.start();
NProgress.done();

2. 使用

入口文件,main.js引入 nprogress

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import Vue from 'vue'
import App from './App'
import router from './router'
import axios from 'axios'
import NProgress from 'nprogress' // 引入nprogress插件
import 'nprogress/nprogress.css'  // 这个nprogress样式必须引入

写在axios的请求拦截器和响应拦截器里,每次只要触发axios请求就加载进度条

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// axios请求拦截器
axios.interceptors.request.use(
  config => {
    NProgress.start() // 设置加载进度条(开始..)
    return config
  },
  error => {
    return Promise.reject(error)
  }
)
// axios响应拦截器
axios.interceptors.response.use(
  function(response) {
    NProgress.done() // 设置加载进度条(结束..)
    return response
  },
  function(error) {
    return Promise.reject(error)
  }
)

或者网上很多人写在了router.beforeEach和router.afterEach,这种写法只能切换路由时才有效果。 个人感觉写在axios的请求拦截器和响应拦截器里比较好,因为切换路由一般都会触发页面的created()事件发起axios请求

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//导入
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

router.beforeEach((to, from, next) => {
  NProgress.start()
  next()
})
router.afterEach(() => {
  NProgress.done()
})

以上两种方法也可以同时一起写上!

最好在index.html也写上,单页面首次打开速度慢,这样写打开登陆页时也才会显示!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script>
  NProgress.start()
  // 给页面设置请求加载进度条效果
  window.onload = function() {
    NProgress.done()
  }
</script>

可以更改设置样式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#nprogress .bar {
      background: red !important; //自定义颜色
    }

配置NProgress: 1. showSpinner:进度环显示隐藏

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NProgress.configure({showSpinner: false});
  1. ease:调整动画设置,ease可传递CSS3缓冲动画字符串(如ease、linear、ease-in、ease-out、ease-in-out、cubic-bezier)。speed为动画速度(单位ms)。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NProgress.configure({ease:'ease',speed:500});
  1. inimum:设置最低百分比
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NProgress.configure({minimum:0.3});
  1. 百分比:通过设置progress的百分比,调用 .set(n)来控制进度,其中n的取值范围为0-1。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NProgress.set(0.4);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Vue系列之顶部进度条(NProgress)
一、Vue顶部进度条(实战) 1、安装nprogress插件 本地引入 <script src='nprogress.js'></script> <link rel='stylesheet' href='nprogress.css'/> npm或bower安装 npm install --save nprogress bower install --save nprogress 2、在main.js中配置nprogress //导入进度条插件 import NProgress from 'np
kirin
2020/10/29
1.4K0
Vue系列之顶部进度条(NProgress)
NProgress - 实现和 Youtube 一样的细长进度条
你也许已经在 Youtube 上看过了那道红色激光脉冲,它会在你切换页面时出现。其实许多移动浏览器的进度条都是这个样式,但是在网页上实现可不多见。不过,有了 NProgress 这个 jQuery 插件,你也可以轻松实现!
李维亮
2021/07/09
1.2K0
NProgress - 实现和 Youtube 一样的细长进度条
Vue3+TS的项目中使用NProgress进度条
NProgress 是一个轻量级的进度条组件,它的原理非常简单,就是页面启动的时候,构建一个方法,创建一个 div,用 fixed 定位,把这个 div 定位在页面最顶部。相信很多小伙伴都知道,一个页面或者一个接口的进度计算是非常复杂的,即便能够被计算出来,那么消耗的性能也是非常大的,得不偿失,这个时候虚拟进度条的作用就显现出来了。开始进入处理方法的时候,就启动 loading 的效果,一旦捕获到这个方法结束,就去释放它,为了防止过程比较生硬,释放后也会有一个进度条缓慢加载到 100%的过程。很多项目上都在使用,最近在重构 Vue3 的版本,所以打算直接把它引用在新的项目上。
青年码农
2022/12/13
4.1K0
Vue3+TS的项目中使用NProgress进度条
Vue中NProgress进度条使用教程
官方地址:https://github.com/rstacruz/nprogress
岳泽以
2022/11/18
4660
React、Vue添加全局的请求进度条(nprogress)
更多内容请见原文,文章转载自:https://blog.csdn.net/weixin_44519496/article/details/118522537
马克社区
2022/04/08
1.4K1
Vue中使用nprogress顶部进度条
实现顶部加载进度条 安装nprogress npm install --save nprogress 在main.js中引入,设置 import NProgress from 'nprogress' import 'nprogress/nprogress.css' //进度条 NProgress.inc(0.2); NProgress.configure({ easing: 'ease', // 动画方式 speed: 500, // 递增进度条的速度 showSpinner: false
LittlePanger
2020/04/13
8970
Vue项目 权限控制方案 --使用路由守卫与自定义指令
比如,用户没有一个路由的权限,但用户直接从其他地方得到的链接,直接输入到浏览器,这种应该怎么做拦截
拿我格子衫来
2022/01/24
4420
vue cli实现页面加载进度条
1. 需要安装插件 cnpm install nprogress -S 2. main.js中引入插件 import NProgress from 'nprogress' // 进度条;进度指示器 import 'nprogress/nprogress.css' // 进度条;进度指示器 样式 //配置插件 NProgress.configure({ easing: 'ease', // 动画方式 speed: 500, // 递增进度条的速度
用户1349575
2022/02/14
1.1K0
面试官:Vue要做权限管理该怎么做?控制到按钮级别的权限怎么做?
接口权限目前一般采用jwt的形式来验证,没有通过的话一般返回401,跳转到登录页面重新进行登录
@超人
2021/02/26
20.1K0
面试官:Vue要做权限管理该怎么做?控制到按钮级别的权限怎么做?
nprogress路由切换添加进度条
文档地址 安装 npm install nprogress -S 在vue路由页面进行引入 import NProgress from 'nprogress' import 'nprogress/nprogress.css'npm install nprogress -S 使用 router.beforeEach((to, from, next) => { NProgress.start(); next() }) router.afterEach(() => { NProgress.don
明知山
2020/10/13
6300
Vue 路由跳转页面加载进度条
安装 cnpm install --save nprogress 在main.js中引入 import NProgress from 'nprogress' import 'nprogress/nprogress.css' 在main.js中进行配置 NProgress.configure({ easing: 'ease', // 动画方式 speed: 500, // 递增进度条的速度 showSpinner: false, // 是否显示加载ico trickleSpeed: 200,
紫旭Blog - blog.zixutech.cn
2019/12/30
2.8K0
简单又快捷的进度条—NProgress库了解一下
推荐一个小而美的进度条库nprogress 1、介绍 就是这么一个效果,如下图所示 官网、github 2、安装引入 安装 $ npm install --save nprogress main
Ewall
2019/10/21
4.9K0
简单又快捷的进度条—NProgress库了解一下
BuildAdmin06:进度条和Loading页面的实现,路由导航守卫告诉你答案...
在后台管理系统或者前端页面的切换过程中,总会遇到网络波动、数据加载慢导致的页面访问慢的问题。我们在访问一些网站,遇到页面加载不出来的时候,通常显示一个进度条,或者一个loading页面的动画页面。
叫我阿柒啊
2024/01/22
5840
BuildAdmin06:进度条和Loading页面的实现,路由导航守卫告诉你答案...
6 种 Vue 权限路由实现方式总结(最全)
已经登录 (已经取得后台返回的用户的权限信息(角色之类的)),则判断当前要跳转的路由,用户是否有权限访问 (根据路由名称到全部路由里找到对应的路由,判断用户是否具备路由上标注的权限信息 (比如上面的roles : [ 'admin', 'editor' ]))。
夜尽天明
2019/06/20
5.7K0
在Vue使用NProgress加载进度条
或者网上很多人写在了router.beforeEach和router.afterEach,这种写法只能切换路由时才有效果。 个人感觉写在axios的请求拦截器和响应拦截器里比较好,因为切换路由一般都会触发页面的created()事件发起axios请求。
跟着阿笨一起玩NET
2020/07/23
9330
在Vue使用NProgress加载进度条
vue项目添加进度条效果
vue项目添加进度条效果 nprogress简介 这是一个小进度条插件。纳米级的进度条,涓涓细流动画告诉你的用户,一些事情正在发生! 安装 npm install --save nprogress 或者使用淘宝镜像 cnpm install --save nprogress 使用 在main.js中配置 //NProgress import NProgress from 'nprogress' import 'nprogress/nprogress.css' //定义拦截器 axios.interc
许喜朝
2020/11/24
7500
NProgress.js进度条
代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>NProgress.js进度条</title> <script src="https://cdn.bootcdn.net/ajax/li
用户2590762
2021/08/11
4.2K0
【vite 自动配置路由】
手动配置路由,是一个没有技术含量又浪费时间的工作。本文将介绍 vite 构建的 vue3 项目如何编写一个自动配置路由的脚本。
CODER-V
2023/03/24
1.2K0
【vite 自动配置路由】
3.使用sass、全局样式及进度条
Sass 世界上最成熟、最稳定、最强大的专业级CSS扩展语言 NProgress 前端轻量级web进度条
RtyXmd
2018/08/30
7680
3.使用sass、全局样式及进度条
NProgress.js - 前端全站进度条插件 - 给你的网站添加一个加载进度条
前几天给博客换了@Veen Zhao大佬的Cuteen主题,非常好看,但是因为不想让自己的博客和其他人的千篇一律,于是决定在Cuteen主题的前提下逐渐设计一些自己需要的东西。正巧前几天发现因为网站带宽的原因,一些页面加载会花一些时间,页面没有任何动静仿佛会让人浏览体验变差,因为太穷无奈只有在不花钱的情况下提升一点点浏览体验(不知道是不是因为我强迫症的原因),这时候给网站添加一个加载进度条NProgress.js就是一个不错的选择了
Y5neKO
2022/01/13
6.8K0
NProgress.js - 前端全站进度条插件 - 给你的网站添加一个加载进度条
相关推荐
Vue系列之顶部进度条(NProgress)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档