From fb7945c7d7dee10703b79c18e2c06907b40eb559 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Fri, 8 Oct 2021 01:51:46 +0800 Subject: [PATCH] refactor: define routes in `createRouter()` for better autocompletion After this commit, the `route` & `typescript-route` templates have more duplication than before. I'll investigate later to see if the code templates can be further simplified. --- template/code/router/src/router/index.js | 32 ++++++++--------- .../typescript-router/src/router/index.ts | 34 ++++++++----------- 2 files changed, 30 insertions(+), 36 deletions(-) diff --git a/template/code/router/src/router/index.js b/template/code/router/src/router/index.js index 26bf8e7e..e0434fd0 100644 --- a/template/code/router/src/router/index.js +++ b/template/code/router/src/router/index.js @@ -1,25 +1,23 @@ import { createRouter, createWebHistory } from 'vue-router' import Home from '../views/Home.vue' -const routes = [ - { - path: '/', - name: 'Home', - component: Home - }, - { - path: '/about', - name: 'About', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/About.vue') - } -] - const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), - routes + routes: [ + { + path: '/', + name: 'Home', + component: Home + }, + { + path: '/about', + name: 'About', + // route level code-splitting + // this generates a separate chunk (About.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import('../views/About.vue') + } + ] }) export default router diff --git a/template/code/typescript-router/src/router/index.ts b/template/code/typescript-router/src/router/index.ts index 06036285..e0434fd0 100644 --- a/template/code/typescript-router/src/router/index.ts +++ b/template/code/typescript-router/src/router/index.ts @@ -1,27 +1,23 @@ import { createRouter, createWebHistory } from 'vue-router' -import type { RouteRecordRaw } from 'vue-router' - import Home from '../views/Home.vue' -const routes: Array = [ - { - path: '/', - name: 'Home', - component: Home - }, - { - path: '/about', - name: 'About', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/About.vue') - } -] - const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), - routes + routes: [ + { + path: '/', + name: 'Home', + component: Home + }, + { + path: '/about', + name: 'About', + // route level code-splitting + // this generates a separate chunk (About.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import('../views/About.vue') + } + ] }) export default router -- 2.39.5