From 068ab19aab11a741823fbec3dd130d2f44dca8c2 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sun, 25 Jun 2023 17:38:31 +0100 Subject: [PATCH] fix(nuxt): respect `false` to disable spa loading template (#21739) --- packages/nuxt/src/core/nitro.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 8ee84d82fa..98a41994c9 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -31,11 +31,9 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { ? [new RegExp(`node_modules\\/(?!${excludePaths.join('|')})`)] : [/node_modules/] - const spaLoadingTemplatePath = nuxt.options.spaLoadingTemplate ?? resolve(nuxt.options.srcDir, 'app/spa-loading-template.html') - if (spaLoadingTemplatePath !== false && !existsSync(spaLoadingTemplatePath)) { - if (nuxt.options.spaLoadingTemplate) { - console.warn(`[nuxt] Could not load custom \`spaLoadingTemplate\` path as it does not exist: \`${spaLoadingTemplatePath}\`.`) - } + const spaLoadingTemplate = nuxt.options.spaLoadingTemplate ?? resolve(nuxt.options.srcDir, 'app/spa-loading-template.html') + if (spaLoadingTemplate && nuxt.options.spaLoadingTemplate && !existsSync(spaLoadingTemplate)) { + console.warn(`[nuxt] Could not load custom \`spaLoadingTemplate\` path as it does not exist: \`${spaLoadingTemplate}\`.`) } const nitroConfig: NitroConfig = defu(_nitroConfig, { @@ -87,10 +85,9 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { virtual: { '#internal/nuxt.config.mjs': () => nuxt.vfs['#build/nuxt.config'], '#spa-template': () => { + if (!spaLoadingTemplate) { return 'export const template = ""' } try { - if (spaLoadingTemplatePath) { - return `export const template = ${JSON.stringify(readFileSync(spaLoadingTemplatePath, 'utf-8'))}` - } + return `export const template = ${JSON.stringify(readFileSync(spaLoadingTemplate, 'utf-8'))}` } catch {} return `export const template = ${JSON.stringify(defaultSpaLoadingTemplate({}))}` }