1.0.6 • Published 3 years ago

@denglouhen/webpack-alioss-plugin v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

webpack-alioss-plugin

用于前端项目打包部署到阿里云oss时,自动上传dist下的文件目录,将static文件夹放在一个时间戳文件夹下,每次部署时,根据limit保留就近的文件夹防止宕机,然后上传新的目录。 为了解决正式环境下js、css等文件名带有hash值时,不会覆盖文件从而导致bucket下文件累积得越来越多的问题。

安装

npm i @denglouhen/webpack-alioss-plugin --save
yarn add  @denglouhen/webpack-alioss-plugin -D

参数

选项名类型是否必填默认值描述
accessKeyIdString阿里云accessKeyId
accessKeySecretString阿里云accessKeySecret
regionString阿里云region
bucketString阿里云bucket
prefixString自定义路径前缀,通常使用项目目录名,文件将存放在alioss的bucket/prefix目录下
formatNumber×getFormat('YYMMDD')可用时间戳来生成oss目录版本号,每次会保留最近的版本文件做零宕机发布,删除其他版本文件。可以通过插件自身提供的静态方法getFormat()获得,默认值为年月日
limitNumber×5最多备份版本数量,会备份最近的版本,最小是3。配置了format才会生效
deleteAllBoolean×false是否删除bucket/prefix中所有文件。优先匹配format配置
localBoolean×true默认每次上传webpack构建流中文件,设为true可上传打包后webpack output指向目录里的文件
outputString×''读取本地目录的路径,如果local为true,output为空,默认为读取webpack输出目录
excludeExpReg/Array×/.*.html$/可传入正则,或正则组成的数组,来排除上传的文件

使用

  • 实例传参
const WebpackAliOSSPlugin = require('@denglouhen/webpack-alioss-plugin')

new WebpackAliOSSPlugin({
  accessKeyId: '2****************9',
  accessKeySecret: 'z**************=',
  region: 'oss-cn-hangzhou',
  bucket: 'xxx',
  prefix: 'test',  
})
  • 配置文件
const WebpackAliOSSPlugin = require('@denglouhen/webpack-alioss-plugin')
const format = WebpackAliOSSPlugin.getFormat('YYYYMMDD') // 默认为getFormat('YYMMDD')
new WebpackAliOSSPlugin({
  format
})

// oss.config.json
{
  accessKeyId: '2****************9',
  accessKeySecret: 'z**************=',
  region: 'oss-cn-hangzhou',
  bucket: 'xxx',
  prefix: 'test',  
}