diff --git a/packages/nuxt/src/pages/macros.ts b/packages/nuxt/src/pages/macros.ts index 2ddc9197695..047ee23c3de 100644 --- a/packages/nuxt/src/pages/macros.ts +++ b/packages/nuxt/src/pages/macros.ts @@ -98,6 +98,8 @@ const starts = { "'": "'" } +const QUOTE_RE = /["']/ + function extractObject (code: string) { // Strip comments code = code.replace(/^\s*\/\/.*$/gm, '') @@ -107,7 +109,7 @@ function extractObject (code: string) { do { if (stack[0] === code[0] && result.slice(-1) !== '\\') { stack.shift() - } else if (code[0] in starts) { + } else if (code[0] in starts && !QUOTE_RE.test(stack[0])) { stack.unshift(starts[code[0]]) } result += code[0] diff --git a/test/fixtures/basic/pages/no-auth.vue b/test/fixtures/basic/pages/no-auth.vue index 0fc01f77c9e..21651201706 100644 --- a/test/fixtures/basic/pages/no-auth.vue +++ b/test/fixtures/basic/pages/no-auth.vue @@ -1,5 +1,6 @@