Skip to content

webpack静态资源一键上传阿里云OSS插件,兼容webpack3.x/4.x

License

Notifications You must be signed in to change notification settings

staven630/webpack-oss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jan 13, 2020
516faa2 · Jan 13, 2020

History

24 Commits
Jan 13, 2020
Apr 29, 2019
Apr 29, 2019
Apr 29, 2019
Apr 29, 2019
Apr 16, 2018
Apr 29, 2019
Apr 29, 2019
Aug 19, 2019
Jul 8, 2019
Apr 16, 2018
Jan 13, 2020

Repository files navigation

webpack静态资源一键上传阿里云OSS插件,兼容webpack3.x/4.x

安装

npm i webpack-oss --save-dev

参数

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

静态方法

static getFormat()

  参数又由YYYY|YY|MM|DD|HH|hh|mm|SS|ss组合而成,返回一个纯数字。 |

const WebpackAliOSSPlugin = require('webpack-oss')

WebpackAliOSSPlugin.getFormat()
WebpackAliOSSPlugin.getFormat('YYYY')

实例

  • 使用webpack构建流文件上传,并删原有所有资源
const WebpackAliOSSPlugin = require('webpack-oss')

new WebpackAliOSSPlugin({
  accessKeyId: '2****************9',
  accessKeySecret: 'z**************=',
  region: 'oss-cn-hangzhou',
  bucket: 'staven',
  prefix: 'nuxt-doc',   // "staven/nuxt-doc/icon_696aaa22.ttf"
  exclude: [/.*\.html$/], // 或者 /.*\.html$/,排除.html文件的上传  
  deleteAll: true	  // 优先匹配format配置项
})
  • 使用打包后的本地文件上传
const WebpackAliOSSPlugin = require('webpack-oss')
const path = require('path')

new WebpackAliOSSPlugin({
  accessKeyId: '2****************9',
  accessKeySecret: 'z**************=',
  region: 'oss-cn-hangzhou',
  bucket: 'staven',
  prefix: 'nuxt-doc',   // "staven/nuxt-doc/icon_696aaa22.ttf"
  exclude: [/.*\.html$/], // 或者 /.*\.html$/,排除.html文件的上传  
  local: true,
  output: path.resolve(__dirname, './build') // 此项不填,将默认指向webpack/vue-cli等工具输出目录
})
  • 使用format做版本备份
const WebpackAliOSSPlugin = require('webpack-oss')
const time = WebpackAliOSSPlugin.getFormat('YYMMDD')

new WebpackAliOSSPlugin({
  accessKeyId: '2****************9',
  accessKeySecret: 'z**************=',
  region: 'oss-cn-hangzhou',
  bucket: 'staven',
  prefix: 'nuxt-doc',   // "staven/nuxt-doc/icon_696aaa22.ttf"
  exclude: [/.*\.html$/], // 或者 /.*\.html$/,排除.html文件的上传  
  deleteAll: false,	  // 优先匹配format配置项
  format: time, // 备份最近版本的oss文件,删除其他版本文件
  local: true,   // 上传打包输出目录里的文件
  limit: 10  // 备份版本数量,其余版本被删除
})

About

webpack静态资源一键上传阿里云OSS插件,兼容webpack3.x/4.x

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published