vue自動(dòng)化路由的實(shí)現(xiàn)代碼
目的
解放雙手,從此不用配置路由。當(dāng)你看到項(xiàng)目中大批量的路由思考是拆分維護(hù)業(yè)務(wù)路由還是統(tǒng)一入口維護(hù)時(shí),無需多慮,router-auto是你的最優(yōu)選擇,它幫你解決路由的維護(hù)成本,你只需要?jiǎng)?chuàng)建相應(yīng)的文件夾,路由就能動(dòng)態(tài)生成,路由攔截你可以在main.js中去攔截他,總之比你想象的開發(fā)還要簡(jiǎn)單。
router-auto github地址有幫助的可以star一下
router-auto npm地址歡迎提issue實(shí)現(xiàn)效果
簡(jiǎn)要用法
具體用法請(qǐng)實(shí)時(shí)查看github或者npm,下面做一些簡(jiǎn)要用法介紹
引用
const RouterAuto = require('router-auto') module.exports = { entry: '...', output: {}, module: {}, plugin:[ new RouterAuto() ] }
項(xiàng)目結(jié)構(gòu)
package.json 等等文件與目錄
src 項(xiàng)目目錄
- page 頁(yè)面目錄
- helloworld
- Index.vue 頁(yè)面入口
- hello.vue 業(yè)務(wù)組件
- router.js 額外配置
- demo
- test
- Index.vue 頁(yè)面入口
- test.vue 業(yè)務(wù)組件
- Index.vue 頁(yè)面入口
- test
- home
- Index.vue 頁(yè)面入口
- helloworld
上面的目錄結(jié)構(gòu)生成的路由結(jié)構(gòu)為
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 }] })
初始化參數(shù)配置new RouterAuto(options = {})
參數(shù) | 說明 | 類型 | 默認(rèn)值 | 必填項(xiàng) |
---|---|---|---|---|
contentBase | 根目錄即src平級(jí)目錄 | String | 當(dāng)前根目錄process.cwd() | 否 |
mode | router中mode | String | history | 否 |
base | router中base | String | /auto/ | 否 |
watcher | 是否啟用熱更新(請(qǐng)?jiān)赿ev環(huán)境啟用) | Boolean | false | 否 |
小缺陷
- 首先我們的項(xiàng)目不需要子路由,所以都是平鋪路由,但是你可以文件夾中創(chuàng)建文件夾在用文件夾規(guī)劃子路由,后續(xù)會(huì)升級(jí)幾個(gè)版本加入進(jìn)去,當(dāng)然看看使用了和需求,偽需求都砍掉
- 現(xiàn)在生成的.router.js文件在磁盤中,作者以后進(jìn)一步優(yōu)化放到內(nèi)存中,一步一個(gè)腳印,共創(chuàng)大好河山
- 然后就沒缺陷了.... 希望提issue越多越好
本文參考與相關(guān)內(nèi)容地址
郵箱 ngaiwe@126.com
github 進(jìn)來單擊star,作者給你么么噠!
issue 百因必有果,你的報(bào)應(yīng)就是我
nuxt 源碼參考
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決vue中使用history.replaceState?更改url?vue?router?無法感知的問題
這篇文章主要介紹了vue中使用history.replaceState?更改url?vue?router?無法感知的問題,本文給大家分享修復(fù)這個(gè)問題的方法,需要的朋友可以參考下2022-09-09在vue中使用image-webpack-loader實(shí)例
這篇文章主要介紹了在vue中使用image-webpack-loader實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11詳解在Vue中如何使用axios跨域訪問數(shù)據(jù)
本篇文章主要介紹了在Vue中如何使用axios跨域訪問數(shù)據(jù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07vue.js實(shí)現(xiàn)只能輸入數(shù)字的輸入框
這篇文章主要為大家詳細(xì)介紹了vue.js實(shí)現(xiàn)只能輸入數(shù)字的輸入框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10vue 路由meta 設(shè)置導(dǎo)航隱藏與顯示功能的示例代碼
這篇文章主要介紹了vue 路由meta 設(shè)置導(dǎo)航隱藏與顯示功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09vue項(xiàng)目配置eslint保存自動(dòng)格式化問題
這篇文章主要介紹了vue項(xiàng)目配置eslint保存自動(dòng)格式化問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09