vue3中使用NProgress的用法

在Vue3项目中,通过NProgress插件可以实现页面跳转时顶部的进度条效果。安装NProgress及其类型定义,然后在router.beforeEach和afterEach中分别调用start和end方法来控制进度条的显示和结束。此外,可以自定义NProgress的颜色以匹配项目风格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue3中使用NProgress的用法

自我记录

跳转页面的时候顶部的进度条实现方式 下面是github地址
https://github.com/rstacruz/nprogress
主要记住两个api就可以简单的使用
开启 NProgress.start()
关闭 NProgress.end()

1.首先安装
Ps:npm 5.0.0 之前,有 --save 参数才会把模块写入到 packages.json。现在已经是内置参数,不用额外写了

npm install nprogress
or
yarn add nprogress
or
pnpm add nprogress

2.使用了ts的小伙伴记得安装ts类型 (项目没有ts的可以跳过)

pnpm add @types/nprogress -D

3.引入并使用 src/router/index.ts

import { createRouter, createWebHistory } from 'vue-router'
// 引入进度条插件
import NProgress from 'nprogress'
// 引入对应css样式
import 'nprogress/nprogress.css' 

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: []
  })
 // 修改进度条插件的配置
+ NProgress.configure({
+   showSpinner: false
+ })
// 前置首位 访问权限控制
router.beforeEach((to) => {
  // 开启页面进度条
+  NProgress.start()
  // 用户仓库
  const store = useUserStore()
  // 用户白名单
  const wihteList = ['/login']
  // 没有token 并且 不再白名单 则跳转登录页
  if (!store.user?.token && !wihteList.includes(to.path)) return '/login'
  // 放行 return true  可以不用写
})
// 后置守卫
router.afterEach((to) => {
  // 设置页面标题
  document.title = to.meta.title || '奔跑的代码!'
+  NProgress.done()
})

总结:就是路由加载的router.beforeEach中加NProgress.start()
router.afterEach中加NProgress.end()

4.修改进度条颜色 src/styles/main.scss 全局样式文件

#nprogress .bar {
  background: pink !important;    //这里自定义颜色
}

展示效果
在这里插入图片描述

包管理工具额外说明:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值