vue中页面加载进度条效果的实现
我们在vue项目中,为了减少首屏加载的时间,通常会开启路由的懒加载。路由懒加载配合gizp确实能帮助我们大大的加快首屏的加载时间。
然而,路由懒加载会使得我们在第一次打开一个新页面的时候,会有一个加载时间。如果在这个时候我们没有一个提示的话,给人的感觉会是好像我点了页面跳转但是没反应。所以,这个时候我们可以加一个进度条来告知用户。
具体实现,我们使用NProgress这个滚动条效果插件。当然了,滚动条你也可以自己写一个简单的。
安装命令:
cnpm install --save nprogress
main.js 引入
//引入nprogressimport NProgress from 'nprogress'import 'nprogress/nprogress.css' //这个样式必须引入
在配置一些内容
NProgress.configure({ easing: 'ease', // 动画方式 speed: 500, // 递增进度条的速度 showSpinner: false, // 是否显示加载ico trickleSpeed: 200, // 自动递增间隔 minimum: 0.3 // 初始化时的最小百分比 })
这里根据自己的需求进行配置。
一般会在路由钩子中这么写
router.beforeEach((to, from , next) => { // 每次切换页面时,调用进度条 NProgress.start(); // 这个一定要加,没有next()页面不会跳转的。这部分还不清楚的去翻一下官网就明白了 next(); });
router.afterEach(() => { // 在即将进入新的页面组件前,关闭掉进度条 NProgress.done() })
然后打开页面就可以看到页面正常在加载了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!