diff --git a/packages/nuxi/src/dev/index.ts b/packages/nuxi/src/dev/index.ts index 1152b1b38..7d3e89583 100644 --- a/packages/nuxi/src/dev/index.ts +++ b/packages/nuxi/src/dev/index.ts @@ -109,7 +109,10 @@ export async function initialize(devContext: NuxtDevContext, ctx: InitializeOpti return { listener: devServer.listener, - close: () => devServer.close(), + close: () => { + devServer.closeWatchers() + devServer.close() + }, onReady: (callback: (address: string) => void) => { if (address) { callback(address) diff --git a/packages/nuxi/src/dev/utils.ts b/packages/nuxi/src/dev/utils.ts index 2953498e1..641efbcfc 100644 --- a/packages/nuxi/src/dev/utils.ts +++ b/packages/nuxi/src/dev/utils.ts @@ -181,11 +181,11 @@ export class NuxtDevServer extends EventEmitter { async init() { await this.load() this._watchConfig() + } - process.on('exit', () => { - this._distWatcher?.close() - this._configWatcher?.() - }) + closeWatchers() { + this._distWatcher?.close() + this._configWatcher?.() } async load(reload?: boolean, reason?: string) {