1.1.2 • Published 5 years ago

webpack-qiniu-cdn-plugin v1.1.2

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

webpack-qiniu-cdn-plugin

将webpack输出的资源上传至七牛对象存储(kodo),并修改资源访问链接为指定的CDN链接

Usage

webpack.config.js

const QiniuCDNPlugin = require('webpack-qiniu-cdn-plugin');
module.exports = {
  plugins: [
    new QiniuCDNPlugin({
      accessKey: '__access_ket__',
      secretKey: '__secret_key__',
      cdnHost: '__host__',
      bucket: '__bucket__',
      dir: 'access',
      exclude: /\.html$/,
      expire: {
        versions: 1,
        time: 60
      },
      refresh: true,
      prefetch: true,
      dry: true
    });
  ]
}

Options

字段名类型描述默认值
accessKeystring七牛accessKey-
secretKeystring七牛secretKey-
bucketstring对象存储bucket-
cdnHoststring用于访问DNS资源的域名-
dirstring存储文件时使用的文件夹前缀,不包括末尾的/''
logFilestring版本记录文件的文件名'upload-log.json'
expireExpire | false版本过期策略,false表示不过期false
excludeRegExp | function选择哪些文件不需要上传,当值为函数是接收文件路径作为参数,返回true表示排除该文件() => false
refreshboolean覆盖上传是否刷新CDN缓存false
prefetchboolean上传后是否执行CDN预取false
silentboolean安静模式false
dryboolean不执行实际的上传删除操作,用于调试false

加粗表示必填项

过期版本中不被使用的文件会被插件从存储空间中删除

expire选项包含两个成员

字段名类型描述
timenumber过期时间(秒)
versionsnumber需要保留的版本数

过期时间是指本次构建时间 - 对应版本构建时间,即版本的存活时间。 保留版本数是指需要保留的先前版本的数量,不包括当前版本。

同时满足两个条件的会被认为是过期版本(当前时间距离记录的构建时间大于过期时间,并且不在保留版本范围内) 省略某一条件表示不校验该条件

UploadStatus

silent不为true时会在控制台打印下列统计信息:

名称描述
remote存储空间中现有的文件列表
excludeexclude选项排除的文件
overwrite覆盖性上传的文件
omit忽略上传的文件(存储空间中已存在名称相同且hash相同的文件)
upload新上传的文件
clean被回收的文件

Tips

  • 不需要在webpack额外设置output.publicPath,插件会根据cdnHostdir自动设置
  • 记录文件的保存路径是${cdnHost}/${dir}/${logFile}
  • 回收操作只会清除logFile中有记录的条目,所以更改prefix或是logFile选项后需要手动清除旧的资源
  • CDN refresh操作只会刷新被覆盖更新的资源
  • CDN prefetch操作只会预取新上传的资源
1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago