/** * Basename Injection Plugin for Vite * * 仅对应用入口文件做字符串替换: * process.env.CLIENT_BASE_PATH * → ((typeof window !== "undefined" && window.__BASENAME__) || "") * * 让 BrowserRouter basename 运行时从 server 注入的 window.__BASENAME__ 读取, * 实现"同一份 bundle 跑在不同 basename 下"(默认域名 `/app/`、自定义域名 `/` 或 `/`)。 * * 入口文件识别(AST 预扫描法): * configResolved 阶段从 vite 解析好的 rollupOptions.input 拿到 HTML 入口, * 读取 HTML 内容提取所有