From 0bce15cbf0c1410627662f002a94bbe040401729 Mon Sep 17 00:00:00 2001 From: Shu Ding Date: Thu, 12 May 2022 22:43:48 +0200 Subject: [PATCH] fix api route bug --- packages/next/build/entries.ts | 14 ++++++++----- packages/next/server/dev/hot-reloader.ts | 26 +++++++++++------------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/packages/next/build/entries.ts b/packages/next/build/entries.ts index 14271a667730..893b3c860acc 100644 --- a/packages/next/build/entries.ts +++ b/packages/next/build/entries.ts @@ -450,10 +450,12 @@ export async function createEntrypoints(params: CreateEntrypointsParams) { }) } } else { - server[serverBundlePath] = { - import: mappings[page], - layer: isServerComponent ? 'sc_server' : null, - } + server[serverBundlePath] = isServerComponent + ? { + import: mappings[page], + layer: 'sc_server', + } + : mappings[page] } }, onEdgeServer: () => { @@ -514,10 +516,12 @@ export function finalizeEntrypoint({ name, compilerType, value, + isServerComponent, }: { compilerType?: 'client' | 'server' | 'edge-server' name: string value: ObjectValue + isServerComponent?: boolean }): ObjectValue { const entry = typeof value !== 'object' || Array.isArray(value) @@ -529,7 +533,7 @@ export function finalizeEntrypoint({ return { publicPath: isApi ? '' : undefined, runtime: isApi ? 'webpack-api-runtime' : 'webpack-runtime', - layer: isApi ? 'api' : undefined, + layer: isApi ? 'api' : isServerComponent ? 'sc_server' : undefined, ...entry, } } diff --git a/packages/next/server/dev/hot-reloader.ts b/packages/next/server/dev/hot-reloader.ts index 9b9fc8490e28..5c0a817f31dc 100644 --- a/packages/next/server/dev/hot-reloader.ts +++ b/packages/next/server/dev/hot-reloader.ts @@ -625,20 +625,18 @@ export default class HotReloader { entrypoints[bundlePath] = finalizeEntrypoint({ compilerType: 'server', name: bundlePath, - value: { - import: - this.viewsDir && bundlePath.startsWith('views/') - ? getViewsEntry({ - pagePath: join( - VIEWS_DIR_ALIAS, - relative(this.viewsDir!, absolutePagePath) - ), - viewsDir: this.viewsDir!, - pageExtensions: this.config.pageExtensions, - }) - : request, - layer: isServerComponent ? 'sc_server' : undefined, - }, + isServerComponent, + value: + this.viewsDir && bundlePath.startsWith('views/') + ? getViewsEntry({ + pagePath: join( + VIEWS_DIR_ALIAS, + relative(this.viewsDir!, absolutePagePath) + ), + viewsDir: this.viewsDir!, + pageExtensions: this.config.pageExtensions, + }) + : request, }) }, })