- 根据配置上传资源到七牛
- 只上传新增或变更的资源
- 上传后,刷新发生了变更的资源的 cdn 缓存
- 上传后,清理本地不包含的资源
- 安装:
npm install -g @infinity-cli/iqiniu
- 配置: 一般项目根目录配置 infinity.config.js 或 infinity.config.json
- 使用说明: 查看
iqiniu -h
iqiniu config -h
参考 https://www.npmjs.com/package/@infinity-cli/shared
{
ak: Type.String(), //[选填, 默认从全局配置读取] 七牛ak
sk: Type.String(), //[选填, 默认从全局配置读取] 七牛sk
bucket: Type.String(), //[必填] 七牛的bucket
from: Type.String(), //[必填] 本地相对根目录的路径
to: Type.String(), //[必填] 七牛云端相对根目录的路径
include: Type.Array(Type.String()), //[选填,默认为["**/*"] ] 上传操作包含的文件,glob模式匹配
exclude: Type.Array(Type.String()), //[选填,默认为空] 上传操作排除的文件,glob模式匹配
refreshcnd: Type.Boolean(), // [选填,默认true] 是否需要刷新cdn
dangerous_removeNotContain: Type.Boolean(), // [选填,默认false] 是否需要移除七牛云端不被包含的文件(this.to存在,但是this.from不存在的文件);如:第一版打包有a.hash1.js,第二版为a.hash2.js, 则a.hash1.js为不被包含的文件,且不再使用,可以移除
removeNotContainAfterDays: Type.Number(), // [选填大于等于1,默认7] 移除操作标记的delay时间
removeNotContainExclude: Type.Array(Type.String()), //[选填,默认为空] 移除操作排除的文件,glob模式匹配
removeNotContainInclude: Type.Array(Type.String()), //[选填,默认为["**/*"] ] 移除操作包含的文件,glob模式匹配
}
const path = require('path');
require('dotenv').config({
path: path.join(__dirname, `.${process.env.ONLINE_ENV}.env`),
});
module.exports = {
iqiniu: {
ak: process.env['AK'], //[选填, 默认从全局配置读取] 七牛ak
sk: process.env['SK'], //[选填, 默认从全局配置读取] 七牛sk
bucket: process.env['BUCKET'], //[必填] 七牛的bucket
from: 'dist/web', //[必填] 本地相对根目录的路径
to: '', //[必填] 七牛云端相对根目录的路径
dangerous_removeNotContain: true,
removeNotContainExclude: ['amazon/**'],
},
};
{
"iqiniu": {
"bucket": "test-bucket",
"from": "image",
"to": "image"
}
}