美文网首页
Vue3.2+Vite2.x+Typescript项目进阶搭建-

Vue3.2+Vite2.x+Typescript项目进阶搭建-

作者: 无我_无他_有你 | 来源:发表于2022-05-16 11:03 被阅读0次

    安装依赖

    npm i nprogress --save -dev
    
    npm i --save -dev @types/nprogress 
    

    src目录下创建目录plugins(该目录存放插件相关配置),plugins目录下创建nprogress目录,nprogress目录下创建index.ts文件,内容如下

    // 文件位置:  src/utils/nprogress.ts
    // 引入进度条
    import NProgress from 'nprogress';
    import 'nprogress/nprogress.css';
    
    //全局进度条的配置
    NProgress.configure({
        easing: 'ease',  // 动画方式    
        speed: 1000,  // 递增进度条的速度    
        showSpinner: false, // 是否显示加载ico    
        trickleSpeed: 200, // 自动递增间隔    
        minimum: 0.3 // 初始化时的最小百分比
    });
    
    // 打开进度条
    export const start = ()=>{
        NProgress.start()
    };
    
    // 关闭进度条
    export const close = ()=>{
        NProgress.done()
    };
    

    API 说明

    NProgress.start()
    作用:开启进度条
    NProgress.done()
    作用:关闭进度条
    NProgress.set(n)
    作用:设置进度条的百分比,其中 n 是 0 ~ 1 之间的数字。
    NProgress.inc()
    作用:以随机量递增进度条,但永远不会达到 100%。
    常见配置
    minimum
    作用:进度条开始时的百分比(默认0.08)
    showSpinner
    作用:是否显示右上角螺旋加载提示
    parent
    作用:设置父容器(默认body)

    NProgress.configure({
        minimum: 0.08,
        showSpinner: true,
        parent: '#box1'
    })
    

    基础用法

    一般搭配路由使用,页面跳转前开启进度条加载动画,跳转完成后关闭加载动画

    import { createRouter, createWebHistory } from "vue-router";
    import { start, close } from "/@plugins/nprogress";
    
    //配置路由和组件之间的映射
    const routes = [
      {
        path: "/",
        //Login.vue 不可以省略.vue后缀
        component: () => import("/@views/user/Login.vue"),
      },
    ];
    const router = createRouter({
      history: createWebHistory(),
      routes,
    });
    
    router.beforeEach((to: any, from: any, next: () => void) => {
      start();
      next();
    });
    
    router.afterEach(() => {
      close();
    });
    export default router;
    
    

    相关文章

      网友评论

          本文标题:Vue3.2+Vite2.x+Typescript项目进阶搭建-

          本文链接:https://www.haomeiwen.com/subject/irdtertx.html