@dd-code/cdn-upgrading-plugins
v0.1.1
Published
Vite 插件:构建完成后将静态资源上传 CDN,并仅保留 index.html
Readme
cdn-upgrading-plugins
Vite 插件:在静态资源构建完成后执行 CDN 上传命令,并从构建产物中只保留 index.html。
功能
- 在 Vite 构建结束(
closeBundle)后执行你配置的上传命令 - 从使用方项目的 env(如
.env)中读取VITE_APP_CODE并传给上传命令 - 上传完成后删除构建目录下除
index.html外的所有文件
安装
npm i cdn-upgrading-plugins
# 或
pnpm add cdn-upgrading-plugins使用方项目准备
- 在项目根目录的
.env或.env.production中配置:
VITE_APP_CODE=your_app_code- 在
vite.config.ts中注册插件并配置上传命令:
import { defineConfig } from 'vite';
import { cdnUpgradingPlugin } from 'cdn-upgrading-plugins';
export default defineConfig({
plugins: [
// ... 其他插件
cdnUpgradingPlugin({
uploadCommand: 'node scripts/upload-cdn.js',
// 上传完成后是否删除除 index.html 外的文件,默认 true
deleteAfterUpload: true,
}),
],
});配置项
| 选项 | 类型 | 必填 | 说明 |
|------|------|------|------|
| uploadCommand | string | 是 | 上传 CDN 的完整命令行。支持占位符见下文。 |
| deleteAfterUpload | boolean | 否 | 上传完成后是否删除除 index.html 外的文件,默认 true。 |
命令占位符
在 uploadCommand 中可使用:
{{VITE_APP_CODE}}:替换为 env 中的VITE_APP_CODE{{outDir}}:替换为当前 Vite 构建输出目录的绝对路径(如dist)
同时,插件执行命令时会注入环境变量:
VITE_APP_CODE:与 env 中一致VITE_OUT_DIR:构建输出目录绝对路径
示例:
cdnUpgradingPlugin({
uploadCommand: 'npx your-cdn-cli upload --code {{VITE_APP_CODE}} --dir {{outDir}}',
});或使用脚本(脚本内通过 process.env.VITE_APP_CODE / process.env.VITE_OUT_DIR 读取):
cdnUpgradingPlugin({
uploadCommand: 'node scripts/upload-cdn.js',
});本地开发
npm install
npm run buildLicense
MIT
