diff --git a/packages/core/src/config.ts b/packages/core/src/config.ts index 1d7cf00e8..8442fc3c7 100644 --- a/packages/core/src/config.ts +++ b/packages/core/src/config.ts @@ -967,15 +967,13 @@ const composeEntryConfig = async ( const resolvedEntries: Record = {}; const resolveOutBase = async (resolvedEntryFiles: string[]) => { + if (userOutBase !== undefined) { + return path.resolve(root, userOutBase); + } // Similar to `rootDir` in tsconfig and `outbase` in esbuild. - const lcp = await calcLongestCommonPath(resolvedEntryFiles); - // Using the longest common path of all non-declaration input files by default. - const outBase = userOutBase - ? path.resolve(root, userOutBase) - : lcp === null - ? root - : lcp; - return outBase; + // Using the longest common path of all non-declaration input files if not specified. + const lcp = (await calcLongestCommonPath(resolvedEntryFiles)) ?? root; + return lcp; }; for (const key of Object.keys(entries)) { diff --git a/website/docs/zh/config/lib/out-base.mdx b/website/docs/zh/config/lib/out-base.mdx index b502e1818..c12a28a59 100644 --- a/website/docs/zh/config/lib/out-base.mdx +++ b/website/docs/zh/config/lib/out-base.mdx @@ -28,7 +28,7 @@ └── index.ts ``` -如果未指定输出基础目录,则默认使用所有输入入口点路径的最近公共祖先目录,即 `src/utils`,最终的文件输出结构为: +如果未指定基础输出目录,则默认使用所有输入入口文件路径的最近公共祖先目录,即 `src/utils`,最终的文件输出结构为: ```txt dist