cduyzh / webpack-plugin-qiniu-upload

A plugin upload file to qiniu clound for vue-cli4|vue-cli5|webpack5

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Upload To qiniu cloud webpack|vue-cli-Plugin

Qiniu Cloud scaffolding package upload plug-in package,webpack5,vue-cli4|vue-cli5 plugin

A plugin upload file to qiniu clound for vue-cli4|vue-cli5

npm version downloads

Features

☁️ Support the latest SDK Qiniu Cloud upload, adapted to the latest VUE scaffolding CLI4.0 and 5.0 versions

💪 Suitable for the latest vue scaffolding cli4.0 and 5.0 versions, support webpack5 configuration

💪 Webpack5 configuration is supported

🚀 Incremental file upload is supported, eliminating the annoyance and waiting time of repeatedly uploading and refreshing files for all resources

Install

  pnpm add webpack-plugin-qiniu-upload -D
  yarn add webpack-plugin-qiniu-upload -D

Use the sample

vue.config.js

const UploadQiNiuPlugin = require("webpack-plugin-thirdparty-upload");
const isBuildDev = process.env.buildMode === 'dev'

module.exports = {
  ...,
  plugins: [
    uploadPlugin({
        sdkName: isBuildDev ? 'qiniu' : 'aws',
        accessKey: isBuildDev ? process.env.QN_ACCESS_KEY : process.env.AWS_ACCESS_KEY,
        secretKey: isBuildDev ? process.env.QN_SECRET_KEY : process.env.AWS_SECRET_KEY,
        bucket: isBuildDev ? process.env.QN_BUCKET : process.env.AWS_BUCKET,
        region: isBuildDev ? 'Zone_z2' : 'us-east-1',
        awsDistributionId: 'xxxx', // aws的失效id
        enabledRefresh: true,
        publicPath: process.env.logBaseUrl,
        uploadTarget: path.resolve(__dirname, './dist'),
        appName: webpackEntry.EntryConfigs[argv.e].filename.replaceAll('.html', ''),
        fileLogPath: 'log/',
        env: isBuildDev ? 'development' : 'production',
        htmlPath: htmlPath, // html 存到云的路径
        excludeHtml: false, // 是否排除html文件
        // suffix: '-v1'
    })
  ],
};

Options

qiniu cloud Options

Name Type Default Description
qiniuAccessKey {String} null Your Qiniu AccessKey
qiniuSecretKey {String} null Your Qiniu SecretKey
qiniuBucket {String} null Your Qiniu Bucket Name
qiniuZone {String} null Your Qiniu zone code
enabledRefresh {Boolean} false Is enable refresh the file on Qiniu Clound after file upload
excludeHtml {Boolean} true Is exclude html file
onlyRefreshHtml {Boolean} false only refresh html file (eg: _/demo/index.html + _/demo/), throws an exception in the case of a failure.
prefixPath {String} - prefix path for the file
fileLogPath {String} log/ Provide a directory where log file should be stored
publicPath {String} webpackConfig.output.publicPath The prefix path to your packaged resource
uploadTarget {String} webpackConfig.output.path Directory of the folder to be uploaded
appName {Number} Date.now() Optional. Name of the file used to generate resource mapping file logs
env {String} development The environment directory corresponding to the JSON file of log

About qiniuZone:

TODO LIST

  • Supports incremental update file upload
  • Supports environment With log json file
  • Support log file cleaning or pull range filtering

About

A plugin upload file to qiniu clound for vue-cli4|vue-cli5|webpack5

License:MIT License


Languages

Language:JavaScript 100.0%