vue3中使用NProgress的用法

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;    //这里自定义颜色
}

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

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

Vue3 NProgress是一个用于在Vue3项目实现进度条效果的工具。通过调用NProgress的方法,可以在页面加载或异步请求时显示进度条,并根据进度的变化进行相应的更新。例如,可以通过调用`NProgress.start()`方法来开始进度条的显示,调用`NProgress.done()`方法来结束进度条的显示。此外,还可以使用`NProgress.status`属性获取当前进度条的状态值。 在Vue3使用NProgress,可以通过导入`close`和`start`方法来使用NProgress的功能。 如果想要了解更多关于在Vue3 TS项目使用NProgress的知识,可以查看相关的文章或关注相关公众号获取更多前端知识。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Vue3+TS的项目使用NProgress进度条](https://blog.csdn.net/NMGWAP/article/details/126863343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [如何再Vue3 + TS的项目使用NProgress进度条](https://blog.csdn.net/weixin_48594833/article/details/126420219)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值