• 通用后台管理系统前端界面Ⅴ——axios使用与封装、配置路由和路由懒加载


    axios使用与封装

    1、下载axios

    npm i -S axios

    2、在 main.js导入使用axios,因为是用的比较多,所以采用的是全局引入,挂载到原型的方式

    1. import axios from 'axios'
    2. Vue.prototype.axios = axios // 挂载到原型,可在全局使用

    配置路由

    1、下载vue-router

    npm i vue-router@3.5.3 -S

    2、 配置路由(新建router文件夹和index.js文件)

    1. import Vue from 'vue'
    2. import Router from 'vue-router'
    3. import Home from '../components/Home.vue'
    4. Vue.use(Router)
    5. export default new Router({
    6.     routes: [
    7.         {
    8.             path: '/',
    9.             component: Home
    10.         }
    11.     ],
    12.     mode: 'history'
    13. })

    3、 挂载使用

    1. import Vue from 'vue'
    2. import App from './App.vue'
    3. import '../plugins/element'
    4. import 'font-awesome/css/font-awesome.min.css'
    5. import axios from 'axios'
    6. import router from './router/index'
    7. //或者这样导入:会自动找到index文件
    8. //import router from './router'
    9. Vue.config.productionTip = false
    10. Vue.prototype.axios = axios
    11. new Vue({
    12. router,
    13. render: h => h(App),
    14. }).$mount('#app')

    4、使用:在App.vue设置路由出口

    <router-view>router-view>

    这样访问才有你内容:ps此前访问的一直是http://localhost:8080

     路由懒加载

    我们在路由中通常会定义很多不同的页面。如果不应用懒加载的话,很多页面都会打包到同一个js文件中,文件将会异常的大。造成进入首页时,需要加载的内容过多,时间过长,在浏览器中可能会出现短暂的空白页,从而降低用户体验,而运用路由懒加载是将各个模块分开打包,用户查看的时候再加载对应的模块,减少加载用时。

    也就是:只加载你当前点击的那个模块。按需去加载路由对应的资源,提高首屏加载速度(tip:首页不用设置懒加载,而且一个页面加载过后再次访问不会重复加载)

    实现原理:将路由相关的组件,不再直接导入了,而是改写成异步组件的写法,只有当函数被调用的时候,才去加载对应的组件内容。

    实现1、:修改router文件夹下的index.js文件为下

        官方推荐的方法,使用ES中的import:component: () => import('@/component/Home')

    1. import Vue from 'vue'
    2. import Router from 'vue-router'
    3. Vue.use(Router)
    4. export default new Router({
    5. routes: [
    6. {
    7. path: '/home',
    8. component: () => import('@/components/Home')
    9. }
    10. ],
    11. mode: 'history'
    12. })

    前后对比:不许要先导入,后挂载。

    实现2、: 使用Vue异步组件,修改router文件夹下的index.js文件为下
          component: resolve => require(['@/components/Home'], resolve)

    1. import Vue from 'vue'
    2. import Router from 'vue-router'
    3. Vue.use(Router)
    4. export default new Router({
    5. routes: [
    6. {
    7. path: '/home',
    8. component: resolve => require(['@/components/Home'], resolve)
    9. }
    10. ],
    11. mode: 'history'
    12. })


     

  • 相关阅读:
    传统机器学习笔记4——决策树
    【机器学习】李宏毅——Anomaly Detection(异常检测)
    Twitter群推解锁流量大门的钥匙
    java毕业设计茶叶销售网站Mybatis+系统+数据库+调试部署
    深度学习环境搭建——之Anaconda3安装配置
    Rockland丨艾美捷Rockland大鼠γ-球蛋白说明书
    通用监控视频web播放方案
    流量分析(5.5信息安全铁人三项赛数据赛题解)
    计算机网络 - 数据链路层 选择填空复习题
    Linux 驱动开发 五十五:《fsl,imx-pinctrl.txt》翻译
  • 原文地址:https://blog.csdn.net/qq_45947664/article/details/127901666