Skip to content

Commit 6ba8e26

Browse files
committed
fix(nitro): only reload nitro after initial nitro build
1 parent 7814f4a commit 6ba8e26

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

packages/nitro-server/src/index.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -892,14 +892,17 @@ export async function bundle (nuxt: Nuxt & { _nitro?: Nitro }): Promise<void> {
892892

893893
// nuxt dev
894894
if (nuxt.options.dev) {
895+
let nitroBuilt = false
895896
for (const builder of ['webpack', 'rspack'] as const) {
896897
nuxt.hook(`${builder}:compile`, ({ name, compiler }) => {
897898
if (name === 'server') {
898899
const memfs = compiler.outputFileSystem as typeof import('node:fs')
899900
nitro.options.virtual['#build/dist/server/server.mjs'] = () => memfs.readFileSync(join(nuxt.options.buildDir, 'dist/server/server.mjs'), 'utf-8')
900901
}
901902
})
902-
nuxt.hook(`${builder}:compiled`, () => { nuxt.server.reload() })
903+
nuxt.hook(`${builder}:compiled`, () => {
904+
if (nitroBuilt) { nitro.hooks.callHook('rollup:reload') }
905+
})
903906
}
904907
nuxt.hook('vite:compiled', () => { nuxt.server.reload() })
905908

@@ -917,7 +920,10 @@ export async function bundle (nuxt: Nuxt & { _nitro?: Nitro }): Promise<void> {
917920
})
918921
nuxt.server = createDevServer(nitro)
919922

920-
const waitUntilCompile = new Promise<void>(resolve => nitro.hooks.hook('compiled', () => resolve()))
923+
const waitUntilCompile = new Promise<void>(resolve => nitro.hooks.hook('compiled', () => {
924+
nitroBuilt = true
925+
resolve()
926+
}))
921927
nuxt.hook('build:done', () => waitUntilCompile)
922928
}
923929
}

0 commit comments

Comments
 (0)