vite-plugin-geovis-oss
v1.0.0-beta.6
Published
上传静态资源到星图七牛云
Readme
vite-plugin-geovis-oss
一个 Vite 插件,用于将构建后的静态资源上传到星图七牛云对象存储。
特性
- 🚀 自动上传构建后的静态资源到星图七牛云 OSS
- 📁 保持目录结构,支持自定义远程路径
- 🔒 安全的凭据管理(推荐使用环境变量)
- 🛡️ TypeScript 类型支持
安装
npm install vite-plugin-geovis-oss -D
# 或
yarn add vite-plugin-geovis-oss -D
# 或
pnpm add vite-plugin-geovis-oss -D使用方法
基本配置
// vite.config.js
import { defineConfig } from 'vite';
import vitePluginQiniuOSS from 'vite-plugin-geovis-oss';
export default defineConfig({
plugins: [
vitePluginQiniuOSS({
// 必需参数
accessKey: process.env.QINIU_ACCESS_KEY,
secretKey: process.env.QINIU_SECRET_KEY,
})
]
});完整配置
// vite.config.js
import { defineConfig } from 'vite';
import vitePluginQiniuOSS from 'vite-plugin-geovis-oss';
export default defineConfig({
plugins: [
vitePluginQiniuOSS({
// 必需参数
accessKey: process.env.QINIU_ACCESS_KEY,
secretKey: process.env.QINIU_SECRET_KEY,
// 可选参数
bucket: 'your-bucket-name',
publicCdnPath: 'https://cdn.example.com', // CDN地址
remoteFilePath: 'static/project-name', // 远程路径
uploadTarget: './dist', // 本地构建目录
deleteOldFiles: false, // 删除旧文件(谨慎使用)
excludeHtml: true, // 排除HTML文件
excludeDirs: ['assets/images', 'public/icons'], // 排除的目录路径数组
})
]
});环境变量配置
创建 .env 文件:
QINIU_ACCESS_KEY=your_access_key_here
QINIU_SECRET_KEY=your_secret_key_here配置选项
| 参数 | 类型 | 必需 | 默认值 | 描述 |
|------|------|------|--------|------|
| accessKey | string | ✅ | - | 星图七牛云 Access Key |
| secretKey | string | ✅ | - | 星图七牛云 Secret Key |
| bucket | string | ❌ | - | 星图七牛云存储空间名称 |
| publicCdnPath | string | ❌ | - | CDN 基础地址 |
| remoteFilePath | string | ❌ | '' | 远程服务器目录路径 |
| uploadTarget | string | ❌ | config.build.outDir(默认 dist) | 本地打包目录路径(默认使用 Vite 的 outDir 配置) |
| deleteOldFiles | boolean | ❌ | false | 是否删除已上传的旧文件 |
| excludeHtml | boolean | ❌ | true | 是否排除 HTML 文件 |
| excludeDirs | string[] | ❌ | [] | 排除的目录路径数组,支持目录名或 glob 模式 |
排除目录示例
vitePluginQiniuOSS({
accessKey: process.env.QINIU_ACCESS_KEY,
secretKey: process.env.QINIU_SECRET_KEY,
excludeDirs: [
'assets/images', // 排除 assets/images 目录及其所有子文件
'public/icons', // 排除 public/icons 目录及其所有子文件
'temp/**', // 使用 glob 模式排除 temp 目录
]
})注意事项
- 安全建议: 永远不要将 Access Key 和 Secret Key 硬编码在代码中,使用环境变量管理
- 权限配置: 确保使用的 Access Key 有足够的权限操作指定的存储空间
- 排除目录:
excludeDirs支持目录名(如'assets')或 glob 模式(如'assets/**'),会自动转换为 glob 模式进行匹配 - 谨慎删除:
deleteOldFiles选项会删除本地文件,请谨慎使用
许可证
MIT
