@denglouhen/webpack-alioss-plugin
v1.0.6
Published
A webpack plugin to upload frontend build dist files to aliyun oss
Downloads
3
Maintainers
Readme
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',
}