1.0.0 • Published 2 years ago
tencent-cos-upload v1.0.0
实现的功能如下:
- 先上传js、css资源,最后上传index.html资源 V0.0.1
- TODO: serectId和secretKey更改为动态获取临时密钥,待确认调取哪个后端接口
- TODO: 上传失败后自动重试,默认重试3次
- TODO: gzip压缩后再上传
- TODO: 上传前添加检测机制, 若已存在,是否可重复上传
- TODO: exclude、include可更改为list存储
使用方法
- secretId、secretKey、cosBaseDir、bucket、region、directory为必传参数
task可传参数列表如下
{ bucket: string; // 存储桶 region: string; // 存储桶所在地域
directory: string; // 读取文件夹位置 cosBaseDir: string; // cos中存放上传文件的一级目录 version?: string; // cos中存放上传文件的二级目录,仅在useVersion为true下有用
useVersion?: boolean; // 是否使用版本管理 retry?: number; // 重试次数,0代表不重试 exclude?: RegExp; // 文件夹下不包含哪个文件上传
include?: RegExp; // 文件夹下哪些文件可以上传
existCheck?: boolean; // 检查是否文件已存在,如果存在,是否上传 enableLog?: boolean; // 是否打开log日志 gzip?: boolean; // 是否开启gzip压缩
order?: number; // 上传排序 }
demo如下
const { join } = require('path');
module.exports = {
secretId: '',
secretKey: '',
tasks: [{
cosBaseDir: '', // 存储桶里面所在文件夹
domain: '', // 当前项目对应的域名
bucket: '', // 存储桶
region: 'ap-shanghai', // 存储桶所在地域,必须字段
exclude: /.*\.html$/,
directory: join(__dirname, '../build'), // 本地文件入口
order: 1, // 上传顺序
}, {
cosBaseDir: '',
domain: '',
bucket: '',
region: '',
include: /.*\.html$/,
directory: join(__dirname, '../build'),
order: 0,
}]
}