Upload the production files bundled in the project to qiniu OSS, except for html
-
By default, the packaged static resource files are uploaded, and the historical data will be obtained, and the uploaded files will be removed。
-
the configuration is simple,using outDir path of vite, uploading to the same path of oss.
Note: Upload all files except html files, because html files have no hash and are usually placed on the server.
yarn add -D vite-plugin-qiniu-oss
or
npm i -D vite-plugin-qiniu-oss
- Register the plugin in vite.config.js
- Set base public URL path when served in development or production.
- Create a Qiniu configuration file in the root directory ex: .qiniu.config.js
import vitePluginQiniuOss from 'vite-plugin-qiniu-oss'
const uploadPath = require('./package.json').name;
export default defineConfig(() => {
const openUpload = process.env.NODE_ENV == 'production' ? true : false
return {
base: openUpload ? `https://qiniu.xxx.com/${uploadPath}/`: `./`, // same with webpack public path
plugins: [vue(), vitePluginQiniuOss(openUpload)]
}
})
// create file: `.qiniu.config.js`
const uploadPath = require('./package.json').name;
module.exports = {
accessKey: 'qiniu access key',
secretKey: 'qiniu secret key',
bucket: 'demo',
bucketDomain: 'https://domain.bkt.clouddn.com',
uploadPath: `/${uploadPath}/`,
batch: 10,
zone: 'Zone_z0',
ignore: ['**/*.html', '**/*.map']
}
- Build Production
npm/yarn run build
The plugin will upload files of outDir path after bundle.
options | description | type | default |
---|---|---|---|
accessKey | qiniu oss accessKey | string | |
secretKey | qiniu oss secretKey | string | |
bucket | qiniu oss bucket name | string | |
bucketDomain | qiniu oss bucket domain | string | |
ignore | ignore file rules, silently upload all static resource files except html | (string or array) | '**/*.html' |
uploadPath | qiniu oss upload storage file name | string | |
batch | the number of files uploaded synchronously | number | 10 |
zone | storage room name | string | 'Zone_z0' |
... | other parameters to initialize oss, see for details https://developer.qiniu.com/kodo/sdk/nodejs | any |