【Vue.js 3.0】NProgress 进度条

简介

在 Vue 3 中使用 NProgress,你需要先安装 NProgress,然后在你的 Vue 应用中引入它,并在适当的生命周期钩子或路由守卫中调用它的方法。以下是一个简单的例子来展示如何在 Vue 3 应用中集成 NProgress

首先,你需要安装 NProgress:
复制代码
npm install nprogress

然后,在你的 Vue 3 应用中,你可以在 main.js 或 main.ts 文件中引入 NProgress 及其样式,并在路由守卫中使用它。

main.js

复制代码
import { createApp } from 'vue';  
import App from './App.vue';  
import { createRouter, createWebHistory } from 'vue-router';  
import NProgress from 'nprogress';  
import 'nprogress/nprogress.css';  
  
// 假设你已经有了一些路由定义  
const routes = [  
  // ...你的路由配置  
];  
  
const router = createRouter({  
  history: createWebHistory(),  
  routes,  
});  
  
// NProgress 配置、进度环显示隐藏  
NProgress.configure({ showSpinner: false }); 
  
// 路由守卫  
router.beforeEach((to, from, next) => {  
  // 开始进度条  
  NProgress.start();  
  next();  
});  
  
router.afterEach(() => {  
  // 结束进度条  
  NProgress.done();  
});  
  
const app = createApp(App);  
app.use(router);  
app.mount('#app');

下面是一个配置 NProgress 的例子:

复制代码
NProgress.configure({  
  minimum: 0.1,             // 最小百分比  
  speed: 500,               // 动画速度  
  showSpinner: false,      // 不显示微调器  
  trickle: false,          // 关闭自动步进  
  trickleSpeed: 500,       // 自动步进速度(如果trickle为true)  
  ease: 'ease-in-out',     // 动画方式  
  positionUsing: '#custom-container' // 进度条容器选择器  
});	

你可以根据你的需求选择使用哪些配置,并在 configure 方法中设置它们。这样,你就可以定制 NProgress 的行为和外观,使其更好地融入你的 Vue 3 应用中。

相关推荐
Mr_Mao11 小时前
告别选型困难!集 VueUse、ahooks、Mantine 于一身:286 个 Hook 的 ReaUse 来了
前端·javascript·react.js
qwfy12 小时前
我要用 AI-native 架构,从零重建一套制造业 ERP/MES
vue.js·spring boot·架构
默_笙12 小时前
🚙 一条腿走路会摔:ES 关键词检索、混合召回与 ReRank 裁判
前端·javascript
dsyyyyy110113 小时前
Vue 3 Watch 监视完全指南
前端·javascript·vue.js
瞬时出道13 小时前
AI 回答为什么能一个字一个字蹦出来?前端搞懂 SSE 这一篇就够了
vue.js
u01110267515 小时前
Vue 3 实现图片裁剪框:拖动、缩放与固定宽高比
前端·javascript·vue.js
小小善后师15 小时前
用 Canvas + AI 实现登录页的 Logo 粒子动画
前端·vue.js
0nirvana015 小时前
从普通 script 到 ESM:一文搞懂 JavaScript 模块、IIFE 和 window
javascript
wshzd16 小时前
LLM之Agent(104)|DeepSeek-Harness(十三)ReactLoopAgent 总览:kick → turn → step
开发语言·前端·javascript
web打印社区17 小时前
远程打印:WebSocket 与 HTTP 轮询怎么选
前端·vue.js·websocket·网络协议·http·electron·pdf