1.1.0 • Published 11 months ago

vite-plugin-oss-cdn v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

vite-plugin-oss-cdn

将项目中打包后生产文件上传到 Ali OSS,除了 html 以外

功能特性

  • 兼容vite 4.x 和 5.x 版本
  • 默认跳过已存在的文件(不会下载文件),加快上传速度
  • 几乎零配置,使用 vite outDir 路径,上传到 oss 的相同路径中

    除了所有 html 文件以外,上传所有文件。因为 html 文件没有哈希值,且通常放在服务器上

安装

pnpm i vite-plugin-oss-cdn -D

或者

yarn add vite-plugin-oss-cdn -D

或者

npm i vite-plugin-oss-cdn -D

基本使用

  1. 在 vite.config.js 中注册本插件
  2. 设置 base 开发或生产环境服务的公共基础 URL 路径
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vitePluginOssCdn from 'vite-plugin-oss-cdn'

const options = {
  region: '<Your Region>'
  accessKeyId: '<Your Access Key ID>',
  accessKeySecret: '<Your Access Key Secret>',
  bucket: '<Your Bucket>'
}

// https://vitejs.dev/config/
export default defineConfig({
  base: 'https://foo.com/', // 必须是 URL
  plugins: [vue(), vitePluginOssCdn(options)]
})
  1. 打包发布生产代码
pnpm run build

插件将会在打包完成后,上传 vite 配置 outDir 路径下的所有资源文件。

配置项

optionsdescriptiontypedefault
region阿里云 oss 地域string
accessKeyId阿里云 oss 访问 IDstring
accessKeySecret阿里云 oss 访问密钥string
bucket阿里云 oss 存储空间名称string
overwrite如果文件已存在,是否覆盖booleanfalse
ignore文件忽略规则。如果你使用空字符串 '',将不会忽略任何文件boolean'**/*.html'
headers请求头设置,详细信息请见 https://www.alibabacloud.com/help/zh/doc-detail/31978.htmlobject{}
test仅测试路径,不会有文件上传booleanfalse
rmdir删除指定目录,因每次打包后dist目录下静态资源上传oss,久而久之文件会越来越多导致占用大量空间,所以想每次先删除对应环境下静态资源后再上传最新的,永久保持一份节省宝贵空间注:官方原文 -> 如果您需要删除所有前缀为src的文件,则设置为src。设置为src后,所有前缀为src的非目录文件、src目录以及目录下的所有文件均会被删除。如果您仅需要删除src目录及目录下的所有文件,则设置为src/string
rmdirCount删除目录次数,默认1次,需传递rmdir才会生效(内部会删除目录下rmdirCount*1000个文件,阿里云删除文件每次最大1000个)number1
mode环境集合,符合匹配的才会上传静态资源,内部默认'production'array'production'
branch需要上传打包后静态资源的分支,检测当前环境下分支是否匹配(mode需要先匹配),防止本地build后覆盖线上产生重大问题,传参会校验符合才会上传,未传参时都会上传(小心本地覆盖线上)array[]
...其他初始化 oss 的参数,详细信息请见 https://www.alibabacloud.com/help/zh/doc-detail/64097.htmlany
1.1.0

11 months ago

1.0.9

11 months ago

1.0.8

11 months ago

1.0.7

12 months ago

1.0.6

12 months ago

1.0.5

12 months ago

1.0.4

12 months ago

1.0.3

12 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago