{"_id":"@blyou/vite-plugin-uni-polyfill","_rev":"3-239f57761e7607d93601973a18f07222","name":"@blyou/vite-plugin-uni-polyfill","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"@blyou/vite-plugin-uni-polyfill","version":"0.0.1","keywords":["core-js","plugin","polyfill","uni-app","uniapp","vite"],"author":{"name":"blyou","email":"youbolincode@163.com"},"license":"MIT","_id":"@blyou/vite-plugin-uni-polyfill@0.0.1","maintainers":[{"name":"blyou","email":"youbolincode@163.com"}],"homepage":"https://github.com/blyou/vite-plugin-uni-polyfill#readme","bugs":{"url":"https://github.com/blyou/vite-plugin-uni-polyfill/issues"},"dist":{"shasum":"e6c7ce74ace9ef5e6a2148ae674d52e357f507e3","tarball":"https://registry.npmjs.org/@blyou/vite-plugin-uni-polyfill/-/vite-plugin-uni-polyfill-0.0.1.tgz","fileCount":7,"integrity":"sha512-ffEWGkjyLPKoTg8Yf49TMvLutYb4WK0jVNWgBAywMKTyMDFhdM5rxFqfwAxloyw4djUnQcwDQBzWedU7XXU20w==","signatures":[{"sig":"MEQCIH75do7e/NRRM1P8LZvgwoDb1BTIF7I/XJkPkN0NCs5MAiAC61lsE6ErQUMWyFdPh0cbShQp3IH08848qrbjB//OUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42990},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"2840391f2f3f1b54185c10e17e364740f5048cb5","scripts":{"dev":"tsdown --watch","lint":"run-s lint:*","taze":"pnpx taze -I","test":"vitest","build":"tsdown","format":"oxfmt src/","release":"bumpp","git:hooks":"pnpm simple-git-hooks","typecheck":"tsc --noEmit","lint:eslint":"eslint . --fix --cache","lint:oxlint":"oxlint . --fix","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"blyou","email":"youbolincode@163.com"},"repository":{"url":"git+https://github.com/blyou/vite-plugin-uni-polyfill.git","type":"git"},"_npmVersion":"11.13.0","description":"A Vite plugin that auto-injects core-js polyfills on demand for uni-app.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"mlly":"^1.8.2","picomatch":"^4.0.5","picocolors":"^1.1.1","@babel/core":"^8.0.1","@rollup/plugin-commonjs":"^29.0.3","babel-plugin-polyfill-corejs3":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.14.0+sha512.66c1ac4c7d4762d6d7dde44c7f3e5a73591ed0a0806e751d4ed32d4f004f25b2285a906b1fd8a9e3e621df3b4e2858bf88e50e0cf626bedbe977fe434a5caf85","devDependencies":{"bumpp":"^11.1.0","oxfmt":"^0.59.0","eslint":"^10.7.0","oxlint":"^1.74.0","tsdown":"^0.22.8","vitest":"^4.1.10","typescript":"^6.0.3","@types/node":"^26.1.1","lint-staged":"^17.0.8","npm-run-all2":"^9.0.2","@commitlint/cli":"^21.2.1","@types/picomatch":"^4.0.3","simple-git-hooks":"^2.13.1","@commitlint/types":"^21.2.0","eslint-plugin-vue":"^10.9.2","eslint-plugin-oxlint":"^1.73.0","eslint-config-prettier":"^10.1.8","@typescript/native-preview":"7.0.0-dev.20260707.2","@vue/eslint-config-typescript":"^14.9.0","@commitlint/config-conventional":"^21.2.0"},"peerDependencies":{"vite":">=5.0.0 <8.0.0","terser":"^5.0.0","core-js":"^3.0.0"},"peerDependenciesMeta":{"vite":{"optional":true},"terser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-uni-polyfill_0.0.1_1784387788752_0.9585701693251301","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@blyou/vite-plugin-uni-polyfill","version":"0.0.2","keywords":["core-js","plugin","polyfill","uni-app","uniapp","vite"],"author":{"name":"blyou","email":"youbolincode@163.com"},"license":"MIT","_id":"@blyou/vite-plugin-uni-polyfill@0.0.2","maintainers":[{"name":"blyou","email":"youbolincode@163.com"}],"homepage":"https://github.com/blyou/vite-plugin-uni-polyfill#readme","bugs":{"url":"https://github.com/blyou/vite-plugin-uni-polyfill/issues"},"dist":{"shasum":"2c113082dddfb544777302875f0290529d9b091a","tarball":"https://registry.npmjs.org/@blyou/vite-plugin-uni-polyfill/-/vite-plugin-uni-polyfill-0.0.2.tgz","fileCount":7,"integrity":"sha512-qeqv17aqLb/v37YM5DUuwLnKjK2B8NsTBkQjrmnWWfpqSOWKBWuM7zT5u++sfdc88pQMPk2Tp/sSV3+YQ5RL9A==","signatures":[{"sig":"MEQCIHzH/QY4pcuG1Gxw3uiKjfD44E/UZGl59uMpVdq2QzawAiBIzspZlkf0UPOA4G57dLl0vKiGbTY/9/FdW3R/pVN2jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42718},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"0de6ab81af68d232038513527350cf6cf4eeab8b","scripts":{"dev":"tsdown --watch","lint":"run-s lint:*","taze":"pnpx taze -I","test":"vitest","build":"tsdown","format":"oxfmt src/","release":"bumpp","git:hooks":"pnpm simple-git-hooks","typecheck":"tsc --noEmit","lint:eslint":"eslint . --fix --cache","lint:oxlint":"oxlint . --fix","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"blyou","email":"youbolincode@163.com"},"repository":{"url":"git+https://github.com/blyou/vite-plugin-uni-polyfill.git","type":"git"},"_npmVersion":"11.13.0","description":"A Vite plugin that auto-injects core-js polyfills on demand for uni-app.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"mlly":"^1.8.2","picomatch":"^4.0.5","picocolors":"^1.1.1","@babel/core":"^8.0.1","@rollup/plugin-commonjs":"^29.0.3","babel-plugin-polyfill-corejs3":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.14.0+sha512.66c1ac4c7d4762d6d7dde44c7f3e5a73591ed0a0806e751d4ed32d4f004f25b2285a906b1fd8a9e3e621df3b4e2858bf88e50e0cf626bedbe977fe434a5caf85","devDependencies":{"bumpp":"^11.1.0","oxfmt":"^0.59.0","eslint":"^10.7.0","oxlint":"^1.74.0","tsdown":"^0.22.8","vitest":"^4.1.10","typescript":"^6.0.3","@types/node":"^26.1.1","lint-staged":"^17.0.8","npm-run-all2":"^9.0.2","@commitlint/cli":"^21.2.1","@types/picomatch":"^4.0.3","simple-git-hooks":"^2.13.1","@commitlint/types":"^21.2.0","eslint-plugin-vue":"^10.9.2","eslint-plugin-oxlint":"^1.73.0","eslint-config-prettier":"^10.1.8","@typescript/native-preview":"7.0.0-dev.20260707.2","@vue/eslint-config-typescript":"^14.9.0","@commitlint/config-conventional":"^21.2.0"},"peerDependencies":{"vite":">=5.0.0 <8.0.0","terser":"^5.0.0","core-js":"^3.0.0"},"peerDependenciesMeta":{"vite":{"optional":true},"terser":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-uni-polyfill_0.0.2_1784830704247_0.09243286625078895","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@blyou/vite-plugin-uni-polyfill","version":"0.0.3","description":"A Vite plugin that auto-injects core-js polyfills on demand for uni-app.","keywords":["core-js","plugin","polyfill","uni-app","uniapp","vite"],"homepage":"https://github.com/blyou/vite-plugin-uni-polyfill#readme","bugs":{"url":"https://github.com/blyou/vite-plugin-uni-polyfill/issues"},"license":"MIT","author":{"name":"blyou","email":"youbolincode@163.com"},"repository":{"type":"git","url":"git+https://github.com/blyou/vite-plugin-uni-polyfill.git"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.cts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"publishConfig":{"access":"public"},"scripts":{"build":"tsdown","dev":"tsdown --watch","test":"vitest","typecheck":"tsc --noEmit","release":"bumpp","prepublishOnly":"pnpm run build","lint":"run-s lint:*","lint:oxlint":"oxlint . --fix","lint:eslint":"eslint . --fix --cache","format":"oxfmt src/","git:hooks":"pnpm simple-git-hooks","taze":"pnpx taze -I"},"dependencies":{"@babel/core":"^8.0.1","@rollup/plugin-commonjs":"^29.0.3","babel-plugin-polyfill-corejs3":"^1.0.0","mlly":"^1.8.2","picocolors":"^1.1.1","picomatch":"^4.0.5"},"devDependencies":{"@commitlint/cli":"^21.2.1","@commitlint/config-conventional":"^21.2.0","@commitlint/types":"^21.2.0","@types/node":"^26.1.1","@types/picomatch":"^4.0.3","@typescript/native-preview":"7.0.0-dev.20260707.2","@vue/eslint-config-typescript":"^14.9.0","bumpp":"^11.1.0","eslint":"^10.7.0","eslint-config-prettier":"^10.1.8","eslint-plugin-oxlint":"^1.73.0","eslint-plugin-vue":"^10.9.2","lint-staged":"^17.0.8","npm-run-all2":"^9.0.2","oxfmt":"^0.59.0","oxlint":"^1.74.0","simple-git-hooks":"^2.13.1","tsdown":"^0.22.8","typescript":"^6.0.3","vitest":"^4.1.10"},"peerDependencies":{"core-js":"^3.0.0","terser":"^5.0.0","vite":">=5.0.0 <8.0.0"},"peerDependenciesMeta":{"vite":{"optional":true},"terser":{"optional":true}},"packageManager":"pnpm@11.17.0+sha512.cca3cea332ad254bb84145f966d19f4879615210346fc92c79a047f23a0d7b3cca3c3792f0076ba1f1831d277efbcf0a9119b31a9a60eca7fb3d6231f331ef72","gitHead":"4665b4f536691faceb4a79bbe79c68496d87f2c9","_id":"@blyou/vite-plugin-uni-polyfill@0.0.3","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-0ctSpYHZ6DMCBug8mTfx3dQr/iYzmCAuSXyfUx4eMMzvMnhIBFgio2ClpxkTJia7NtBNV2VaBdYsNM38iSfPuw==","shasum":"08273ebb241b8f4b22db538ea4080e4d80eff8c1","tarball":"https://registry.npmjs.org/@blyou/vite-plugin-uni-polyfill/-/vite-plugin-uni-polyfill-0.0.3.tgz","fileCount":7,"unpackedSize":42875,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC4dRZfa3BjnxzdjawHzBMBQu6LQyw6wP9c1B5qXFsMSgIhAIHq57djNWOBDyIstocodNBGchG09vCUCEXpaRw7+/Qe"}]},"_npmUser":{"name":"blyou","email":"youbolincode@163.com"},"directories":{},"maintainers":[{"name":"blyou","email":"youbolincode@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vite-plugin-uni-polyfill_0.0.3_1784870912921_0.5165002592431445"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-18T15:16:28.562Z","modified":"2026-07-24T05:28:33.199Z","0.0.1":"2026-07-18T15:16:28.888Z","0.0.2":"2026-07-23T18:18:24.396Z","0.0.3":"2026-07-24T05:28:33.059Z"},"bugs":{"url":"https://github.com/blyou/vite-plugin-uni-polyfill/issues"},"author":{"name":"blyou","email":"youbolincode@163.com"},"license":"MIT","homepage":"https://github.com/blyou/vite-plugin-uni-polyfill#readme","keywords":["core-js","plugin","polyfill","uni-app","uniapp","vite"],"repository":{"type":"git","url":"git+https://github.com/blyou/vite-plugin-uni-polyfill.git"},"description":"A Vite plugin that auto-injects core-js polyfills on demand for uni-app.","maintainers":[{"name":"blyou","email":"youbolincode@163.com"}],"readme":"# vite-plugin-uni-polyfill\r\n\r\n基于 [Vite](https://vite.dev) 的 **uni-app** 运行时垫片（polyfill）注入插件。\r\n\r\n它会在构建期根据目标运行环境，按需补全 [core-js](https://github.com/zloirock/core-js) 的 API 垫片，并针对性修复 uni-app 各端（尤其是微信小程序 `mp-weixin`）下常见的兼容性问题：\r\n\r\n- `new URL()` 在微信小程序开发者工具环境中报 `URL is not defined`；\r\n- `build --watch` 下 core-js CJS 模块转换报错 `__moduleExports is not exported`；\r\n\r\n---\r\n\r\n## 安装方式\r\n\r\npnpm\r\n\r\n```bash\r\npnpm add -D @blyou/vite-plugin-uni-polyfill\r\n```\r\n\r\nnpm\r\n\r\n```bash\r\nnpm install -D @blyou/vite-plugin-uni-polyfill\r\n```\r\n\r\n> **pnpm 用户注意**：本插件在运行期需要解析 `@babel/core`、`@rollup/plugin-commonjs` 等依赖。pnpm 默认的严格（非扁平）`node_modules` 结构可能导致这些依赖无法从插件位置正确解析，从而构建报错。请在项目根目录的 `.npmrc` 中开启扁平提升：\r\n>\r\n> ```ini\r\n> # .npmrc\r\n> shamefully-hoist=true\r\n> ```\r\n>\r\n> 若使用 pnpm workspace，也可在 `pnpm-workspace.yaml` 中配置：\r\n>\r\n> ```yaml\r\n> # pnpm-workspace.yaml\r\n> shamefullyHoist: true\r\n> ```\r\n>\r\n> 配置后重新执行 `pnpm install` 使依赖提升生效。\r\n\r\n---\r\n\r\n## 配置参数\r\n\r\n插件通过 `vite.config.ts` 的 `plugins` 数组使用，默认导出为一个返回 `Plugin[]` 的函数。\r\n\r\n### 选项（Options）\r\n\r\n| 选项      | 类型                                          | 默认值                                | 说明                                                                                                                                                                        |\r\n| --------- | --------------------------------------------- | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `targets` | `string \\| string[] \\| Record<string,string>` | `{ chrome: '83' }`                    | 目标运行环境。Android 平台 JS 运行在独立 V8 引擎，版本约等同于 Chrome 83，故默认按 Chrome 83 注入。参见 [browserslist](https://github.com/browserslist/browserslist) 语法。 |\r\n| `include` | `string[]`                                    | `platform==='h5' ? [] : ['web.url*']` | 需要**强制注入**的垫片（支持 glob）。命中后忽略目标环境支持度。                                                                                                             |\r\n| `exclude` | `string[]`                                    | `undefined`                           | 需要**排除**的垫片（支持 glob）。命中后强制跳过，优先级高于 `include` 与目标环境判断。                                                                                      |\r\n| `log`     | `boolean \\| 'file' \\| 'global'`               | `false`                               | 日志模式：`true` 同时输出文件级与全局级；`'file'` 仅单文件 diff；`'global'` 仅构建结束汇总；`false` 关闭。                                                                  |\r\n\r\n> **平台（platform）** 不由选项直接传入，而是由 uni-app 编译时注入的 `UNI_PLATFORM` 环境变量决定。\r\n\r\n---\r\n\r\n## 示例代码\r\n\r\n### 基础用法\r\n\r\n```ts\r\n// vite.config.ts\r\nimport { defineConfig } from 'vite'\r\nimport Polyfill from '@blyou/vite-plugin-uni-polyfill'\r\n\r\nexport default defineConfig({\r\n  plugins: [Polyfill()],\r\n})\r\n```\r\n\r\n### 指定目标环境\r\n\r\n```ts\r\nimport { defineConfig } from 'vite'\r\nimport Polyfill from '@blyou/vite-plugin-uni-polyfill'\r\n\r\nexport default defineConfig({\r\n  plugins: [\r\n    Polyfill({\r\n      // 兼容到 iOS Safari 14 / Chrome 90\r\n      targets: ['ios >= 14', 'chrome >= 90'],\r\n    }),\r\n  ],\r\n})\r\n```\r\n\r\n### 收窄垫片范围（glob）\r\n\r\n```ts\r\nimport { defineConfig } from 'vite'\r\nimport Polyfill from '@blyou/vite-plugin-uni-polyfill'\r\n\r\nexport default defineConfig({\r\n  plugins: [\r\n    Polyfill({\r\n      // 强制保留数组相关垫片（哪怕目标环境已支持）\r\n      include: ['es.array.*'],\r\n      // 排除 Promise 相关垫片\r\n      exclude: ['es.promise.*', 'web.url*'],\r\n    }),\r\n  ],\r\n})\r\n```\r\n\r\n### 开启体积日志\r\n\r\n```ts\r\nimport { defineConfig } from 'vite'\r\nimport Polyfill from '@blyou/vite-plugin-uni-polyfill'\r\n\r\nexport default defineConfig({\r\n  plugins: [\r\n    Polyfill({\r\n      log: 'global', // 构建结束时打印全部注入的 polyfill 及其体积\r\n    }),\r\n  ],\r\n})\r\n```\r\n\r\n构建输出示例：\r\n\r\n```\r\n[vite-plugin-uni-polyfill] 项目注入的全部 polyfill 引用:\r\n  es.array.at\r\n  es.array.map\r\n  web.url-search-params\r\n[vite-plugin-uni-polyfill] 正在计算 polyfill 体积...\r\n[vite-plugin-uni-polyfill] polyfill 体积:\r\n  bundle size: 12.34 KB | minified: 5.67 KB | minified + gzip: 2.10 KB\r\n```\r\n\r\n---\r\n\r\n## 核心功能特性\r\n\r\n- **按需注入 core-js 垫片**：基于 `@babel/core` + `babel-plugin-polyfill-corejs3`，采用 `usage-global` 策略，仅注入代码中实际用到、且目标环境不支持的特性。\r\n- **平台感知**：自动读取 `UNI_PLATFORM` 环境变量（uni-app 编译时注入）决定垫片范围与启用哪些修复插件。\r\n  - `h5`：不注入 `web.url*` 系列垫片，且不启用 core-js 的 commonjs 修复插件；\r\n  - 其余平台：默认额外注入 `web.url*`（即 `web.url` 与 `web.url-search-params`）。\r\n- **mp-weixin 的 `new URL` 修复**：`mp-weixin` 平台下，将源码中的 `new URL(...)` 自动改写为 `new globalThis.URL(...)`，避免小程序环境 `URL` 未挂载到全局作用域的问题。\r\n- **core-js CJS 修复（`vite-plugin-corejs-commonjs`）**：非 `h5` 平台自动挂载一个**仅作用于 core-js** 的 `@rollup/plugin-commonjs` 实例（`enforce: 'pre'`），并让 Vite 内置实例跳过 core-js，形成真正的单实例转换，根除 watch 模式的 `__moduleExports` 报错与垫片静默失效。\r\n- **`include` / `exclude` 支持 glob**：以 glob 表达式（`*` 匹配任意字符、`?` 匹配单个字符）精确控制需要强制注入或排除的垫片。\r\n- **体积统计与可视化日志**：构建结束时汇总项目注入的全部 polyfill，并通过 Vite 真实生产打包管线计算其 `bundle size / minified / minified + gzip` 体积，辅助你评估与裁剪垫片。\r\n- **分级日志**：`log` 选项支持 `true` / `'file'` / `'global'` / `false`，可只看单文件 diff、只看全局汇总，或完全关闭。\r\n\r\n---\r\n\r\n## 工作原理\r\n\r\n1. **注入阶段（`transform` 钩子，`enforce: 'post'`）**\r\n   对每个符合条件的源文件（`.js/.ts/.jsx/.tsx/.mjs/.vue`，排除 `node_modules`）运行 Babel：\r\n   - `babel-plugin-polyfill-corejs3`（`usage-global`）按 `targets` 与 `include`/`exclude` 注入所需 core-js 模块；\r\n   - 当 `UNI_PLATFORM === 'mp-weixin'` 时，追加 Babel 插件将 `new URL()` 改写为 `new globalThis.URL()`。\r\n\r\n2. **CJS 修复阶段（`vite-plugin-corejs-commonjs`，非 `h5` 自动启用）**\r\n   自带一个 `enforce: 'pre'` 的 `@rollup/plugin-commonjs` 实例，仅处理 core-js 包内文件，并通过 `config` 钩子让 Vite 内置 commonjs 实例将 core-js 加入 `exclude`，确保 core-js 只被转换一次。\r\n\r\n3. **汇总阶段（`buildEnd` 钩子）**\r\n   依据 `log` 选项，打印文件级 polyfill diff 与项目级 polyfill 汇总；在 `'global'` / `true` 模式下，通过 Vite 的 `build()` 真实生产管线打包去重后的 polyfill 入口，测量其 `size` / `minified` / `minified + gzip` 体积。\r\n\r\n---\r\n\r\n## 常见问题（FAQ）\r\n\r\n**Q：`mp-weixin` 下运行时代码报 `URL is not defined`？**\r\nA：微信小程序开发者工具环境中 `URL` 未挂载到全局作用域。本插件在 `UNI_PLATFORM === 'mp-weixin'` 时会自动将 `new URL(...)` 改写为 `new globalThis.URL(...)`，无需手动处理。\r\n\r\n**Q：`build --watch` 时报 `__moduleExports is not exported by \".../core-js/...\"`？**\r\nA：这是 uni-app 差量编译缓存导致 core-js 的 CJS 转换产物未同步合成导出。非 `h5` 平台本插件会自动挂载 `vite-plugin-corejs-commonjs`，以单实例方式独占 core-js 的 commonjs 转换，根除该问题。\r\n\r\n**Q：运行时抛出 `getOrInsert is not a function`（或 `URLSearchParams` 相关错误）？**\r\nA：通常是 core-js 被多个 commonjs 实例重复转换、模块图分裂，导致全局垫片静默失效。同上，由 `vite-plugin-corejs-commonjs` 的\"单实例\"机制修复。\r\n\r\n**Q：如何只为特定平台注入？**\r\nA：平台由 `UNI_PLATFORM` 环境变量控制（uni-app 编译时自动注入）。`h5` 默认不注入 `web.url*` 且不启用 CJS 修复插件；其余平台默认包含 `web.url*`。你也可以在任何平台用 `include` / `exclude` 精细控制。\r\n\r\n**Q：polyfill 体积太大，如何裁剪？**\r\nA：用 `exclude` 排除已知目标环境已支持的特性，或用 `include` 只保留必要项；并开启 `log: 'global'` 查看实际注入项与体积，逐项优化。\r\n\r\n**Q：支持哪些 Vite 版本？**\r\nA：`vite >=5 <8`（已在 Vite 5–7 范围内验证）。`core-js >= 3.30` 为必需 peer 依赖。\r\n\r\n---\r\n\r\n## 许可证\r\n\r\n[MIT](./LICENSE)\r\n","readmeFilename":"README.md"}