diff --git a/packages/nuxt/src/pages/page-meta.ts b/packages/nuxt/src/pages/page-meta.ts index c644b52b7..838198453 100644 --- a/packages/nuxt/src/pages/page-meta.ts +++ b/packages/nuxt/src/pages/page-meta.ts @@ -16,7 +16,7 @@ export interface PageMetaPluginOptions { } const CODE_EMPTY = ` -const __nuxt_page_meta = {} +const __nuxt_page_meta = null export default __nuxt_page_meta ` @@ -138,7 +138,7 @@ export const PageMetaPlugin = createUnplugin((options: PageMetaPluginOptions) => const meta = node.arguments[0] as Expression & { start: number, end: number } - let contents = `const __nuxt_page_meta = ${code!.slice(meta.start, meta.end) || '{}'}\nexport default __nuxt_page_meta` + (options.dev ? CODE_HMR : '') + let contents = `const __nuxt_page_meta = ${code!.slice(meta.start, meta.end) || 'null'}\nexport default __nuxt_page_meta` + (options.dev ? CODE_HMR : '') function addImport (name: string | false) { if (name && importMap.has(name)) { diff --git a/packages/nuxt/src/pages/utils.ts b/packages/nuxt/src/pages/utils.ts index 8c364e98f..946b67b5b 100644 --- a/packages/nuxt/src/pages/utils.ts +++ b/packages/nuxt/src/pages/utils.ts @@ -264,7 +264,7 @@ export function normalizeRoutes (routes: NuxtPage[], metaImports: Set = name: `${metaImportName}?.name ?? ${page.name ? JSON.stringify(page.name) : 'undefined'}`, path: `${metaImportName}?.path ?? ${JSON.stringify(page.path)}`, children: page.children ? normalizeRoutes(page.children, metaImports).routes : [], - meta: page.meta ? `{...(${metaImportName} || {}), ...${JSON.stringify(page.meta)}}` : metaImportName, + meta: page.meta ? `{...(${metaImportName} || {}), ...${JSON.stringify(page.meta)}}` : `${metaImportName} || {}`, alias: aliasCode, redirect: page.redirect ? JSON.stringify(page.redirect) : `${metaImportName}?.redirect || undefined`, component: genDynamicImport(file, { interopDefault: true })