From 7b9fca334cb10c1f622309fc2d19e8dd30932a4d Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sun, 23 Oct 2022 18:48:12 +0100 Subject: [PATCH 1/2] fix(nuxt): don't use `vue-router` without `pages/` integration --- packages/nuxt/src/app/components/layout.ts | 4 +++- packages/nuxt/src/pages/module.ts | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/components/layout.ts b/packages/nuxt/src/app/components/layout.ts index ae82998ddfa..731b4f1b5f2 100644 --- a/packages/nuxt/src/app/components/layout.ts +++ b/packages/nuxt/src/app/components/layout.ts @@ -1,8 +1,10 @@ import { computed, defineComponent, h, inject, nextTick, onMounted, Ref, Transition, unref, VNode } from 'vue' -import { RouteLocationNormalizedLoaded, useRoute as useVueRouterRoute } from 'vue-router' +import type { RouteLocationNormalizedLoaded } from 'vue-router' import { _wrapIf } from './utils' import { useRoute } from '#app' // @ts-ignore +import { useRoute as useVueRouterRoute } from '#build/vue-router-imports' +// @ts-ignore import layouts from '#build/layouts' // @ts-ignore import { appLayoutTransition as defaultLayoutTransition } from '#build/nuxt.config.mjs' diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index 82cc710d84d..bcd43bd9528 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -23,6 +23,11 @@ export default defineNuxtModule({ // Disable module (and use universal router) if pages dir do not exists or user has disabled it if ((nuxt.options.pages === false || (nuxt.options.pages !== true && !pagesDirs.some(dir => existsSync(dir)))) && !isRouterOptionsPresent) { addPlugin(resolve(distDir, 'app/plugins/router')) + // Add vue-router import for `` integration + addTemplate({ + filename: 'vue-router-imports.mjs', + getContents: () => 'export { useRoute } from \'#app\'' + }) return } @@ -135,6 +140,12 @@ export default defineNuxtModule({ } }) + // Add vue-router import for `` integration + addTemplate({ + filename: 'vue-router-imports.mjs', + getContents: () => 'export { useRoute } from \'vue-router\'' + }) + // Add router options template addTemplate({ filename: 'router.options.mjs', From e8abdfa40057537cb0c053fb7d263579a6bca076 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 24 Oct 2022 09:24:49 +0100 Subject: [PATCH 2/2] refactor: rename to `pages` --- packages/nuxt/src/app/components/layout.ts | 2 +- packages/nuxt/src/pages/module.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/app/components/layout.ts b/packages/nuxt/src/app/components/layout.ts index 731b4f1b5f2..70b96a3c565 100644 --- a/packages/nuxt/src/app/components/layout.ts +++ b/packages/nuxt/src/app/components/layout.ts @@ -3,7 +3,7 @@ import type { RouteLocationNormalizedLoaded } from 'vue-router' import { _wrapIf } from './utils' import { useRoute } from '#app' // @ts-ignore -import { useRoute as useVueRouterRoute } from '#build/vue-router-imports' +import { useRoute as useVueRouterRoute } from '#build/pages' // @ts-ignore import layouts from '#build/layouts' // @ts-ignore diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index bcd43bd9528..2846e5f577f 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -25,7 +25,7 @@ export default defineNuxtModule({ addPlugin(resolve(distDir, 'app/plugins/router')) // Add vue-router import for `` integration addTemplate({ - filename: 'vue-router-imports.mjs', + filename: 'pages.mjs', getContents: () => 'export { useRoute } from \'#app\'' }) return @@ -142,7 +142,7 @@ export default defineNuxtModule({ // Add vue-router import for `` integration addTemplate({ - filename: 'vue-router-imports.mjs', + filename: 'pages.mjs', getContents: () => 'export { useRoute } from \'vue-router\'' })