From 628b3e80c9f0be2ae3d863aa81d11faa44edc44e Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 13 Jul 2026 12:41:34 +0800 Subject: [PATCH] =?UTF-8?q?--author:JEECG--date:20260713--for:=E3=80=90vit?= =?UTF-8?q?e8=E3=80=91=E6=B6=88=E9=99=A4=20dev=20server=20=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E6=97=B6=E4=B8=A4=E6=9D=A1=20WARN=EF=BC=88esbuildOpti?= =?UTF-8?q?ons=20=E5=BA=9F=E5=BC=83=E3=80=81esbuild/oxc=20=E5=90=8C?= =?UTF-8?q?=E6=97=B6=E8=AE=BE=E7=BD=AE=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 按 Vite 8 Rolldown/Oxc 的迁移规范,把两处已废弃的 esbuild 配置迁到新写法: 1. optimizeDeps.esbuildOptions.target: 'es2020' → optimizeDeps.rolldownOptions.transform.target: 'es2020' (消除 esbuildOptions deprecated 警告) 2. 顶层 esbuild: { drop: isBuild ? ['console', 'debugger'] : [] } + build.minify: 'esbuild' → 删除 esbuild 块,build.minify: true 改用 Oxc minifier, drop 功能迁移到 build.rollupOptions.output.minify: { compress: { drop: ['console', 'debugger'] } } (消除 esbuild/oxc 同时设置的警告,并保留生产构建删除 console.debugger 的能力) --- jeecgboot-vue3/vite.config.ts | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/jeecgboot-vue3/vite.config.ts b/jeecgboot-vue3/vite.config.ts index 35a32f659..f7cfc20f0 100644 --- a/jeecgboot-vue3/vite.config.ts +++ b/jeecgboot-vue3/vite.config.ts @@ -107,7 +107,9 @@ export default async ({ command, mode }: ConfigEnv): Promise => { // update-end--author:liaozhiyang---date:20260306---for:【QQYUN-14801】启动时预构建部分入口页面,访问时更快 }, build: { - minify: 'esbuild', + // Vite 8 默认使用 Oxc minifier;'esbuild' 已 deprecated。 + // 这里保留 minify=true 显式启用,并对 console/debugger 做 drop。 + minify: true, target: 'es2015', cssTarget: 'chrome80', outDir: OUTPUT_DIR, @@ -132,6 +134,9 @@ export default async ({ command, mode }: ConfigEnv): Promise => { return packageToChunk[pkgName]; }, // update-end--author:copilot---date:20260711---for:【vite8升级】rolldown不再支持对象形式的manualChunks,改为函数形式 + // Vite 8 用 Oxc 替代 esbuild;原 esbuild.drop 迁移到这里。 + // 详见 https://oxc.rs/docs/guide/usage/minifier/dead-code-elimination + minify: isBuild ? { compress: { drop: ['console', 'debugger'] } } : false, }, }, // 关闭brotliSize显示可以稍微减少打包时间 @@ -139,10 +144,6 @@ export default async ({ command, mode }: ConfigEnv): Promise => { // 提高超大静态资源警告大小 chunkSizeWarningLimit: 2000, }, - esbuild: { - //清除全局的console.log和debug - drop: isBuild ? ['console', 'debugger'] : [], - }, define: { // setting vue-i18-next // Suppress warning @@ -162,8 +163,12 @@ export default async ({ command, mode }: ConfigEnv): Promise => { plugins: await createVitePlugins(viteEnv, isBuild, isQiankunMicro), optimizeDeps: { - esbuildOptions: { - target: 'es2020', + // Vite 8 uses Rolldown for dep optimization; esbuildOptions is deprecated. + // See https://rolldown.rs/ for the rolldownOptions shape. + rolldownOptions: { + transform: { + target: 'es2020', + }, }, // @iconify/iconify: The dependency is dynamically and virtually loaded by @purge-icons/generated, so it needs to be specified explicitly include: [