大型Vue应用插件架构(二)

本文介绍了大型Vue应用的插件架构,重点讲解了如何利用vmx-router、vmx-vuex和vmx-request进行路由、Vuex状态管理和请求扩展。通过模块化设计,业务模块只需提供路由扩展即可自动添加到路由表,无需修改全局配置。同时探讨了布局(Layout)、菜单(Menu)扩展点的实现,并讨论了将组件切分并独立打包的可能性,以提高代码复用性和开发效率。
摘要由CSDN通过智能技术生成

先看看Vue提供什么集中管理的,比较重要的东西:

  • router
  • vuex
  • 其他库如axios request

业务模块可以通过下面的几个项目,对路由和Vuex状态等进行扩展

业务模块只需要提供"router"扩展,就可以自动添加到路由表中,
不需要通过修改代码来改整体路由配置。同样,当我们不需要这个业务模块时,
在启动模块中拿走便是,无需做其他代码调整。看看代码感受一下:

Github: https://github.com/kmtong/vmx-sample

— 在线执行 —

— 在线执行 (新Vue3版本) —

进去后浏览器显示这个界面,左侧菜单显示了两项:Home 和 Module1
在这里插入图片描述

代码解构

主项目入口main.js

// main app
import App from "./App.vue";

// extension modules
import Layout from "./layout/module.js";
import Home from "./home/module.js";
import Module1 from "./module1/module.js";

Vue.config.productionTip = false;

Vue.use(VueModx, {
   
  modules: [
    RouterModule,
    RequestModule,
    VuexModule,
    Layout,
    Home,
    Module1
    // add more modules
  ],
  config: {
   
    router: {
   
      routes: [],
      scrollBehavior: () => ({
    y: 0 }), // see https://router.vuejs.org/guide/advanced/scroll-behavior.html#async-scrolling
      mode: "hash" // default "history"
    }
  }
});

我们先试试把 Module1 去掉,看看会怎样?

// main app
import App from "./App.vue";

// extension modules
import Layout from "./layout/module.js";
import Home from "./home/modul
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值