vue自动化路由的实现代码


Posted in Javascript onSeptember 30, 2019

目的

解放双手,从此不用配置路由。当你看到项目中大批量的路由思考是拆分维护业务路由还是统一入口维护时,无需多虑,router-auto是你的最优选择,它帮你解决路由的维护成本,你只需要创建相应的文件夹,路由就能动态生成,路由拦截你可以在main.js中去拦截他,总之比你想象的开发还要简单。

router-auto github地址有帮助的可以star一下

router-auto npm地址欢迎提issue实现效果

vue自动化路由的实现代码

简要用法

具体用法请实时查看github或者npm,下面做一些简要用法介绍

引用

const RouterAuto = require('router-auto')

module.exports = {
  entry: '...',
  output: {},
  module: {},
  plugin:[
    new RouterAuto()
  ]
}

项目结构

package.json 等等文件与目录
src 项目目录

  • page 页面目录
    • helloworld
      • Index.vue 页面入口
      • hello.vue 业务组件
      • router.js 额外配置
    • demo
      • test
        • Index.vue 页面入口
        • test.vue 业务组件
      • Index.vue 页面入口
    • home
      • Index.vue 页面入口

上面的目录结构生成的路由结构为

import Vue from 'vue'
import Router from 'vue-router'
import helloworld from '@/page/helloworld/Index.vue'
import demo from '@/page/demo/Index.vue'
import demo_test from '@/page/demo/test/Index.vue'
import home from '@/page/home/Index.vue'
 
Vue.use(Router)
 
export default new Router({
  mode:'history',
  base:'/auto/',
  routes:[{
   path: '/helloworld/index',
   name: 'helloworld',
   component: helloworld
  },{
   path: '/demo/index',
   name: 'demo',
   component: demo
  },{
   path: '/demo/test/index',
   name: 'demo_test',
   component: demo_test
  },{
   path: '/home/index',
   name: 'home',
   component: home
  }]
})

初始化参数配置new RouterAuto(options = {})

参数 说明 类型 默认值 必填项
contentBase 根目录即src平级目录 String 当前根目录process.cwd()
mode router中mode String history
base router中base String /auto/
watcher 是否启用热更新(请在dev环境启用) Boolean false

小缺陷

  • 首先我们的项目不需要子路由,所以都是平铺路由,但是你可以文件夹中创建文件夹在用文件夹规划子路由,后续会升级几个版本加入进去,当然看看使用了和需求,伪需求都砍掉
  • 现在生成的.router.js文件在磁盘中,作者以后进一步优化放到内存中,一步一个脚印,共创大好河山
  • 然后就没缺陷了.... 希望提issue越多越好

本文参考与相关内容地址

邮箱 ngaiwe@126.com
github 进来单击star,作者给你么么哒!
issue 百因必有果,你的报应就是我
nuxt 源码参考

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery的初始化与对象构建之浅析
Apr 12 Javascript
jQuery中选择器小问题(新人难免遇到)
Mar 31 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
Jun 20 Javascript
JavaScript正则表达式的分组匹配详解
Feb 13 Javascript
js一维数组、多维数组和对象的混合使用方法
Apr 03 Javascript
详细总结Javascript中的焦点管理
Sep 17 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
May 31 Javascript
JavaScript递归算法生成树形菜单
Aug 15 Javascript
JavaScript模块模式实例详解
Oct 25 Javascript
详解基于webpack&gettext的前端多语言方案
Jan 29 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
Nov 26 Javascript
如何利用node转发请求详解
Sep 17 Javascript
js实现图片上传即时显示效果
Sep 30 #Javascript
vue实现select下拉显示隐藏功能
Sep 30 #Javascript
createObjectURL方法实现本地图片预览
Sep 30 #Javascript
微信小程序实现分享商品海报功能
Sep 30 #Javascript
Bootstrap实现模态框效果
Sep 30 #Javascript
HTML+JavaScript实现扫雷小游戏
Sep 30 #Javascript
React+Redux实现简单的待办事项列表ToDoList
Sep 29 #Javascript
You might like
php 将字符串按大写字母分隔成字符串数组
2010/04/30 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
浅谈Laravel核心解读之Console内核
2018/12/02 PHP
PHP CURL实现模拟登陆并上传文件操作示例
2020/01/02 PHP
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
javascript 拖放效果实现代码
2010/01/22 Javascript
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
angular.fromJson与toJson方法用法示例
2017/05/17 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
微信小程序canvas截取任意形状的实现代码
2020/01/13 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
python中numpy的矩阵、多维数组的用法
2018/02/05 Python
python3.x上post发送json数据
2018/03/04 Python
python如何把嵌套列表转变成普通列表
2018/03/20 Python
详解python中的装饰器
2018/07/10 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
Python list运算操作代码实例解析
2020/01/20 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
教师自荐书
2013/10/08 职场文书
电脑租赁公司创业计划书
2014/01/08 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
委托证明书
2014/09/17 职场文书
好员工观后感
2015/06/17 职场文书
户外拓展训练感想
2015/08/07 职场文书
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript
MySQL实现配置主从复制项目实践
2022/03/31 MySQL