From fbc9045908d69752e299d0ca10d9cdecdb7dae6b Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Mon, 20 Nov 2023 14:26:09 +0800 Subject: [PATCH] fix: unable to compile console and uc on Windows platform (#4877) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### What type of PR is this? /kind bug /area console /milestone 2.11.x #### What this PR does / why we need it: 修复在 Windows 平台下无法正常启动 Console 服务以及无法正常编译的问题。 图片 #### Which issue(s) this PR fixes: Fixes https://github.com/halo-dev/halo/issues/4874 #### Special notes for your reviewer: 在 Windows 平台下测试 `pnpm dev` 和 `pnpm build`,检查是否能够正常运行。 #### Does this PR introduce a user-facing change? ```release-note None ``` --- console/src/vite/config-builder.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/console/src/vite/config-builder.ts b/console/src/vite/config-builder.ts index 75e2c5a2b..ee238d9b1 100644 --- a/console/src/vite/config-builder.ts +++ b/console/src/vite/config-builder.ts @@ -1,4 +1,4 @@ -import { fileURLToPath, URL } from "url"; +import { fileURLToPath } from "url"; import fs from "fs"; import { defineConfig, type Plugin } from "vite"; import Vue from "@vitejs/plugin-vue"; @@ -7,6 +7,7 @@ import { VitePWA } from "vite-plugin-pwa"; import Icons from "unplugin-icons/vite"; import { setupLibraryExternal } from "./library-external"; import GzipPlugin from "rollup-plugin-gzip"; +import path from "path"; interface Options { base: string; @@ -49,6 +50,9 @@ export function createViteConfig(options: Options) { const { base, entryFile, port, outDir, plugins } = options; + const currentFileDir = path.dirname(fileURLToPath(import.meta.url)); + const rootDir = path.resolve(currentFileDir, "../.."); + return defineConfig({ base, plugins: [ @@ -58,9 +62,9 @@ export function createViteConfig(options: Options) { ], resolve: { alias: { - "@": fileURLToPath(new URL("/src", import.meta.url)), - "@console": fileURLToPath(new URL("/console-src", import.meta.url)), - "@uc": fileURLToPath(new URL("/uc-src", import.meta.url)), + "@": path.resolve(rootDir, "src"), + "@console": path.resolve(rootDir, "console-src"), + "@uc": path.resolve(rootDir, "uc-src"), }, }, server: { @@ -70,7 +74,7 @@ export function createViteConfig(options: Options) { }, }, build: { - outDir: fileURLToPath(new URL(outDir, import.meta.url)), + outDir: path.resolve(rootDir, outDir), emptyOutDir: true, chunkSizeWarningLimit: 2048, },