Skip to content

Commit eeb01a7

Browse files
committed
feat: auto-routing
1 parent a0959e6 commit eeb01a7

File tree

13 files changed

+147
-112
lines changed

13 files changed

+147
-112
lines changed

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
"version": "0.1.0",
44
"private": true,
55
"scripts": {
6-
"dev": "vue-cli-service serve",
76
"build": "vue-cli-service build --report",
8-
"lint": "vue-cli-service lint --fix"
7+
"lint": "vue-cli-service lint --fix",
8+
"dev": "vue-cli-service serve"
99
},
1010
"dependencies": {
1111
"core-js": "^3.6.4",
@@ -14,6 +14,7 @@
1414
"lodash": "^4.17.15",
1515
"vue": "^2.6.11",
1616
"vue-router": "^3.1.6",
17+
"vue-router-layout": "^0.1.2",
1718
"vuex": "^3.1.3"
1819
},
1920
"devDependencies": {
@@ -34,6 +35,8 @@
3435
"eslint-plugin-vue": "^6.2.2",
3536
"sass": "^1.26.3",
3637
"sass-loader": "^8.0.2",
38+
"vue-auto-routing": "^0.4.0",
39+
"vue-cli-plugin-auto-routing": "^0.3.3",
3740
"vue-template-compiler": "^2.6.11"
3841
},
3942
"config": {
File renamed without changes.

src/pages/about.vue

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<route-meta>
2+
{
3+
"title": "关于"
4+
}
5+
</route-meta>
6+
7+
<template>
8+
<div class="about">
9+
<h1>This is an about page</h1>
10+
</div>
11+
</template>

src/pages/index.vue

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<route-meta>
2+
{
3+
"title": "首页"
4+
}
5+
</route-meta>
6+
7+
<template>
8+
<div>
9+
home
10+
</div>
11+
</template>

src/router.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import Vue from 'vue'
2+
import Router from 'vue-router'
3+
import routes from 'vue-auto-routing'
4+
import { createRouterLayout } from 'vue-router-layout'
5+
6+
Vue.use(Router)
7+
8+
const RouterLayout = createRouterLayout(layout => {
9+
return import('@/layouts/' + layout + '.vue')
10+
})
11+
12+
export const router = new Router({
13+
routes: [
14+
{
15+
path: '/',
16+
component: RouterLayout,
17+
children: routes
18+
}
19+
]
20+
})
21+
22+
export const menus = routes.map(route => ({
23+
path: route.path,
24+
title: route.meta.title
25+
}))

src/router/index.js

Lines changed: 0 additions & 45 deletions
This file was deleted.

src/views/class1/1/page.vue

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/views/class1/2/page.vue

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/views/class2/1/page.vue

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/views/class2/2/page.vue

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/views/index.vue

Lines changed: 0 additions & 15 deletions
This file was deleted.

vue.config.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,19 @@ module.exports = {
1010
css: {
1111
loaderOptions: {
1212
sass: {
13-
prependData: `@import '~@/assets/style/public.scss';`
13+
prependData: '@import \'~@/assets/style/public.scss\';'
1414
}
1515
}
1616
},
1717
chainWebpack: config => {
1818
VueFilenameInjector(config, {
1919
propName: '__source'
2020
})
21+
},
22+
pluginOptions: {
23+
autoRouting: {
24+
chunkNamePrefix: 'page-',
25+
nested: false
26+
}
2127
}
2228
}

yarn.lock

Lines changed: 88 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -880,11 +880,32 @@
880880
call-me-maybe "^1.0.1"
881881
glob-to-regexp "^0.3.0"
882882

883+
"@nodelib/fs.scandir@2.1.3":
884+
version "2.1.3"
885+
resolved "https://registry.npm.taobao.org/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b"
886+
integrity sha1-Olgr21OATGum0UZXnEblITDPSjs=
887+
dependencies:
888+
"@nodelib/fs.stat" "2.0.3"
889+
run-parallel "^1.1.9"
890+
891+
"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2":
892+
version "2.0.3"
893+
resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3"
894+
integrity sha1-NNxfTKu8cg9OYPdadH5+zWwXW9M=
895+
883896
"@nodelib/fs.stat@^1.1.2":
884897
version "1.1.3"
885898
resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
886899
integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=
887900

901+
"@nodelib/fs.walk@^1.2.3":
902+
version "1.2.4"
903+
resolved "https://registry.npm.taobao.org/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976"
904+
integrity sha1-ARuSAqcKY2bkNspcBlhEUoqwSXY=
905+
dependencies:
906+
"@nodelib/fs.scandir" "2.1.3"
907+
fastq "^1.6.0"
908+
888909
"@soda/friendly-errors-webpack-plugin@^1.7.1":
889910
version "1.7.1"
890911
resolved "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.7.1.tgz#706f64bcb4a8b9642b48ae3ace444c70334d615d"
@@ -1839,7 +1860,7 @@ braces@^2.3.1, braces@^2.3.2:
18391860
split-string "^3.0.2"
18401861
to-regex "^3.0.1"
18411862

1842-
braces@~3.0.2:
1863+
braces@^3.0.1, braces@~3.0.2:
18431864
version "3.0.2"
18441865
resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
18451866
integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc=
@@ -3769,6 +3790,18 @@ fast-glob@^2.2.6:
37693790
merge2 "^1.2.3"
37703791
micromatch "^3.1.10"
37713792

3793+
fast-glob@^3.0.4:
3794+
version "3.2.2"
3795+
resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.2.2.tgz?cache=0&sync_timestamp=1582318370324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.2.tgz#ade1a9d91148965d4bf7c51f72e1ca662d32e63d"
3796+
integrity sha1-reGp2RFIll1L98UfcuHKZi0y5j0=
3797+
dependencies:
3798+
"@nodelib/fs.stat" "^2.0.2"
3799+
"@nodelib/fs.walk" "^1.2.3"
3800+
glob-parent "^5.1.0"
3801+
merge2 "^1.3.0"
3802+
micromatch "^4.0.2"
3803+
picomatch "^2.2.1"
3804+
37723805
fast-json-stable-stringify@^2.0.0:
37733806
version "2.1.0"
37743807
resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
@@ -3779,6 +3812,13 @@ fast-levenshtein@~2.0.6:
37793812
resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz?cache=0&sync_timestamp=1573614520618&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-levenshtein%2Fdownload%2Ffast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
37803813
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
37813814

3815+
fastq@^1.6.0:
3816+
version "1.7.0"
3817+
resolved "https://registry.npm.taobao.org/fastq/download/fastq-1.7.0.tgz#fcd79a08c5bd7ec5b55cd3f5c4720db551929801"
3818+
integrity sha1-/NeaCMW9fsW1XNP1xHINtVGSmAE=
3819+
dependencies:
3820+
reusify "^1.0.4"
3821+
37823822
faye-websocket@^0.10.0:
37833823
version "0.10.0"
37843824
resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
@@ -4142,7 +4182,7 @@ glob-parent@^3.1.0:
41424182
is-glob "^3.1.0"
41434183
path-dirname "^1.0.0"
41444184

4145-
glob-parent@^5.0.0, glob-parent@~5.1.0:
4185+
glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0:
41464186
version "5.1.1"
41474187
resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
41484188
integrity sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=
@@ -5535,7 +5575,7 @@ merge-stream@^2.0.0:
55355575
resolved "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
55365576
integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=
55375577

5538-
merge2@^1.2.3:
5578+
merge2@^1.2.3, merge2@^1.3.0:
55395579
version "1.3.0"
55405580
resolved "https://registry.npm.taobao.org/merge2/download/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81"
55415581
integrity sha1-WzZu6DsvFYLEj4fkfPGpNSEDyoE=
@@ -5569,6 +5609,14 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
55695609
snapdragon "^0.8.1"
55705610
to-regex "^3.0.2"
55715611

5612+
micromatch@^4.0.2:
5613+
version "4.0.2"
5614+
resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
5615+
integrity sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=
5616+
dependencies:
5617+
braces "^3.0.1"
5618+
picomatch "^2.0.5"
5619+
55725620
miller-rabin@^4.0.0:
55735621
version "4.0.1"
55745622
resolved "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
@@ -6398,7 +6446,7 @@ performance-now@^2.1.0:
63986446
resolved "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
63996447
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
64006448

6401-
picomatch@^2.0.4, picomatch@^2.0.7:
6449+
picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.0.7, picomatch@^2.2.1:
64026450
version "2.2.2"
64036451
resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
64046452
integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=
@@ -6831,7 +6879,7 @@ prepend-http@^1.0.0:
68316879
resolved "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
68326880
integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
68336881

6834-
prettier@^1.18.2:
6882+
prettier@1.19.1, prettier@^1.18.2:
68356883
version "1.19.1"
68366884
resolved "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1586174253764&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
68376885
integrity sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=
@@ -7337,6 +7385,11 @@ retry@^0.12.0:
73377385
resolved "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
73387386
integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=
73397387

7388+
reusify@^1.0.4:
7389+
version "1.0.4"
7390+
resolved "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
7391+
integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=
7392+
73407393
rgb-regex@^1.0.1:
73417394
version "1.0.1"
73427395
resolved "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1"
@@ -7381,6 +7434,11 @@ run-async@^2.2.0, run-async@^2.4.0:
73817434
dependencies:
73827435
is-promise "^2.1.0"
73837436

7437+
run-parallel@^1.1.9:
7438+
version "1.1.9"
7439+
resolved "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679"
7440+
integrity sha1-yd06fPn0ssS2JE4XOm7YZuYd1nk=
7441+
73847442
run-queue@^1.0.0, run-queue@^1.0.3:
73857443
version "1.0.3"
73867444
resolved "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
@@ -8587,6 +8645,18 @@ vm-browserify@^1.0.1:
85878645
resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1572870772154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
85888646
integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA=
85898647

8648+
vue-auto-routing@^0.4.0:
8649+
version "0.4.1"
8650+
resolved "https://registry.npm.taobao.org/vue-auto-routing/download/vue-auto-routing-0.4.1.tgz#c601d47a3a7adfd03f98ebf7b23c50eb6189c88c"
8651+
integrity sha1-xgHUejp639A/mOv3sjxQ62GJyIw=
8652+
dependencies:
8653+
vue-route-generator "^0.4.3"
8654+
8655+
vue-cli-plugin-auto-routing@^0.3.3:
8656+
version "0.3.3"
8657+
resolved "https://registry.npm.taobao.org/vue-cli-plugin-auto-routing/download/vue-cli-plugin-auto-routing-0.3.3.tgz#18bbb29a3334b518676353ed8f23d4c0e2721d53"
8658+
integrity sha1-GLuymjM0tRhnY1PtjyPUwOJyHVM=
8659+
85908660
vue-eslint-parser@^7.0.0:
85918661
version "7.0.0"
85928662
resolved "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-7.0.0.tgz#a4ed2669f87179dedd06afdd8736acbb3a3864d6"
@@ -8615,6 +8685,19 @@ vue-loader@^15.9.1:
86158685
vue-hot-reload-api "^2.3.0"
86168686
vue-style-loader "^4.1.0"
86178687

8688+
vue-route-generator@^0.4.3:
8689+
version "0.4.3"
8690+
resolved "https://registry.npm.taobao.org/vue-route-generator/download/vue-route-generator-0.4.3.tgz#9a4c31f155cbe02f98962f286a16173890228afa"
8691+
integrity sha1-mkwx8VXL4C+Yli8oahYXOJAiivo=
8692+
dependencies:
8693+
fast-glob "^3.0.4"
8694+
prettier "1.19.1"
8695+
8696+
vue-router-layout@^0.1.2:
8697+
version "0.1.5"
8698+
resolved "https://registry.npm.taobao.org/vue-router-layout/download/vue-router-layout-0.1.5.tgz#4e0454d10428a114be91d6458ffa4242664c6d70"
8699+
integrity sha1-TgRU0QQooRS+kdZFj/pCQmZMbXA=
8700+
86188701
vue-router@^3.1.6:
86198702
version "3.1.6"
86208703
resolved "https://registry.npm.taobao.org/vue-router/download/vue-router-3.1.6.tgz#45f5a3a3843e31702c061dd829393554e4328f89"

0 commit comments

Comments
 (0)