1.0.0 • Published 2 years ago

tencent-cos-upload v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

实现的功能如下:

  • 先上传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,
  }]
}