import { rm } from "node:fs/promises";
import { resolve } from "node:path";

// process.cwd() 返回运行脚本时所在的目录。npm 执行脚本时 cwd 固定为
// package.json 所在目录,即本文件所在的 ClientApp 目录。
// resolve() 把相对路径拼成绝对路径:
//   ClientApp/../wwwroot/auth-assets  =>  src/Dpz.Core.Auth/wwwroot/auth-assets
// 这正是 vite 的构建输出目录(vite.config.ts 中的 outDir 配置)。
const output = resolve(process.cwd(), "../wwwroot/auth-assets");

// rm() 是 Node.js 的"删除文件/目录"函数(来自 fs/promises,即 Promise 风格的 API)。
// recursive: true —— 目录里还有文件时也删除(递归清空整个目录)
// force: true     —— 目录不存在时不报错(脚本可以重复执行,是幂等的)
// 作用:在 vite build 之前删掉上一次的构建产物,确保构建从干净状态开始
// (vite 本身也会清空输出目录,这里相当于双重保险,同时也覆盖 vite 未运行的情况)。
await rm(output, { recursive: true, force: true });
评论加载中...