Home

Awesome

vite-plugin-ali-oss

license downloads npm stars

Upload the production files bundled in the project to Ali OSS, except for html

中文文档

Feature

Note: Upload all files except html files, because html files have no hash and are usually placed on the server.

Preview:

preview

Installation

ESM version for vite 5、vite 6:

npm i -D vite-plugin-ali-oss@latest

other version:

npm i -D vite-plugin-ali-oss@^1.0.0

Basic usage

  1. Register the plugin in vite.config.js
  2. Set base public URL path when served in development or production.
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vitePluginAliOss from 'vite-plugin-ali-oss'

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

const prod = process.env.NODE_ENV === 'production'

// https://vitejs.dev/config/
export default defineConfig({
  base: prod ? 'https://foo.com/' : '/', // must be URL when build
  plugins: [vue(), vitePluginAliOss(options)]
})

To upload to an oss-specific directory, simply set the base directly to:

base: prod ? 'https://foo.com/yourpath/etc/' : '/'
  1. Build Production
pnpm run build

The plugin will upload files of outDir path after bundle.

options

optionsdescriptiontypedefault
regionali cloud oss regionstring
accessKeyIdali cloud oss accessKeyIdstring
accessKeySecretali cloud oss accessKeySecretstring
bucketali cloud oss bucketstring
overwriteIf the file already exists, whether to skip uploadbooleanfalse
ignoreIgnore file rules. If you use empty string '', no files will be ignoredstring'**/*.html'
headersRequest headers setting, more information: https://www.alibabacloud.com/help/en/doc-detail/31978.htmlobject{}
testOnly test path, no files uploadbooleanfalse
enabledEnable the ali oss pluginbooleantrue
retryNumber of retries when upload failsnumber0
...Other init oss options, more information: https://www.alibabacloud.com/help/en/doc-detail/64097.htmlany