vue11----前端优化、路由懒加载(异步组件)、keep-alive、localStorage二次封装、vue-lazyload图片懒加载、mint-ui、封装加载loading条、axios请求x-www格式的数据、nginx代理、路由守卫、mint-ui实现下拉刷新,上拉加载更多、自己封装过哪些组件和模块

### 优化

    1、加载速度的优化
        ①雪碧图---->base64、iconfont
        ②代码压缩
        ③图片视频压缩
        ④cdn缓存
        ⑤路由懒加载(异步组件) 首页引入的大文件进行分批次引入

 

    2、运行效率优化
        ①减少http请求,页面打开之后基本不涉及到数据更改
            
 
            正常的组件切换的时候执行创建和销毁,加上keep-alive后,组件保存到缓存中,不会执行创建和销毁。
        
        ②数据本地化(localStorage session(可以用keep-alive代替) cookie)
            a、发起ajax前,先看一下本地缓存有没有,如果有就在缓存中取,如果没有再发起请求
            b、localStorage的二次封装
                (1)考虑兼容问题
                (2)简化读取与存储
                (3)有时间限制
            c、图片懒加载
                ui框架
                插件:vue-lazyload

 

    3、用户体验优化
        ①加载体验
        ②加载的loading条

 

### 路由懒加载(异步组件)(router.js)

    原理:将每个组件都打成一个包,这样首页引入的大文件就进行分批引入。
 
    实现:将所有的同步组件引入方式改为异步组件引入方式。
        // import Recommend from "pages/Recommend.vue";
        // import Singer from "pages/Singer.vue";
        // import Detail from "pages/Detail.vue";
        // 改为路由懒加载方式引入:引入组件的方式从同步变为异步
        const Recommend=()=>import("pages/Recommend.vue");
        const Singer=()=>import("pages/Singer.vue");
        const Detail=()=>import("pages/Detail.vue");
    此时,npm run build后在dist/js中多一个 chunk-00e2fa9f.7be196b5.js 文件。注意:npm run build后dist/js中的map文件可以全部删除。

 

### (App.vue)

    原理:是vue的一个内置组件,被包裹的组件,不会反复的经历创建与销毁,它在第一次创建后就会保存在缓存中,下次页面切换时直接从缓存中读取。
 
    场景:页面打开后,基本涉及到数据更改的组件用包裹,