1.0.6 • Published 3 years ago
@denglouhen/webpack-alioss-plugin v1.0.6
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
参数
选项名 | 类型 | 是否必填 | 默认值 | 描述 |
---|---|---|---|---|
accessKeyId | String | √ | 阿里云accessKeyId | |
accessKeySecret | String | √ | 阿里云accessKeySecret | |
region | String | √ | 阿里云region | |
bucket | String | √ | 阿里云bucket | |
prefix | String | √ | 自定义路径前缀,通常使用项目目录名,文件将存放在alioss的bucket/prefix目录下 | |
format | Number | × | getFormat('YYMMDD') | 可用时间戳来生成oss目录版本号,每次会保留最近的版本文件做零宕机发布,删除其他版本文件。可以通过插件自身提供的静态方法getFormat()获得,默认值为年月日 |
limit | Number | × | 5 | 最多备份版本数量,会备份最近的版本,最小是3。配置了format才会生效 |
deleteAll | Boolean | × | false | 是否删除bucket/prefix中所有文件。优先匹配format配置 |
local | Boolean | × | true | 默认每次上传webpack构建流中文件,设为true可上传打包后webpack output指向目录里的文件 |
output | String | × | '' | 读取本地目录的路径,如果local为true,output为空,默认为读取webpack输出目录 |
exclude | ExpReg/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',
}