欢迎扫码,加作者微信

NProgress加载进度条

2022-07-16 06:18:38
2025-06-18 20:43:13

官网

language 复制代码
https://ricostacruz.com/nprogress

安装命令

shell 复制代码
npm i -S nprogress 

引用方法

main.ts入口文件引入 nprogress

shell 复制代码
import NProgress from 'nprogress' // 引入nprogress插件
import 'nprogress/nprogress.css'  // 这个nprogress样式必须引入

使用方法(多种方法)

axios请求

ts 复制代码
// 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)
  }
)

切换路由

language 复制代码
//导入
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

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

首屏

language 复制代码
<script>
  NProgress.start()
  // 给页面设置请求加载进度条效果
  window.onload = function() {
    NProgress.done()
  }
</script>

nuxt3

language 复制代码
import NProgress from "nprogress";
import "nprogress/nprogress.css";

export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.hook("app:mounted", (e: any) => {
    console.log(11111111);
  });
  nuxtApp.hook("page:start", (e: any) => {
    NProgress.start();
  });
  nuxtApp.hook("page:finish", (e: any) => {
    setTimeout(() => {
      NProgress.done();
    }, 150);
  });
  nuxtApp.hook("app:error", (e: any) => {
    if (process.client) {
      NProgress.done();
    }
  });
});
文章目录

运营需要亿点资金维持,您的支持,是小白龙创作的动力!!!

生成中...

扫码赞赏

感谢您的支持与鼓励

安全支付

支付赞赏

您的支持是我们前进的动力

留言
快捷金额
自定义金额
¥

安全保障

采用银行级加密技术,保障您的支付安全

暂无评论,欢迎留下你的评论
暂无评论,期待您的精彩留言!
Copyright © 2025 粤ICP备19043740号-1
🎉 今日第 1 位访客 📊 年访问量 0 💝 累计赞赏 1000+