将webpack打包生成的文件上传到云端,以提高加载速度
目前,支持阿里云、华为云、腾讯云、七牛云和又拍云,以及自定义扩展。
npm install hsuc --save-devNode.js >= 10.10.0 required
// webpack.config.js
const Hsuc = require('hsuc');
...
plugins: [
...
new Hsuc({
cloudFolder: "<云端文件夹>",
domain: "<域名>",
// 阿里云(任选其一)
aliyun: {
region: "<OSS region>",
accessKeyId: "<Your accessKeyId>",
accessKeySecret: "<Your accessKeySecret>",
bucket: "<Your bucket name>"
}
// 华为云(任选其一)
huawei: {
accessKeyId: "<Provide your Access Key>",
secretAccessKey: "<Provide your Secret Key>",
server: "<https://your-endpoint>",
bucket: "<Bucket>"
},
// 腾讯云(任选其一)
tencent: {
secretId: "<SecretId>",
secretKey: "<SecretKey>",
bucket: "<Bucket>",
region: "<Region>"
},
// 七牛云(任选其一)
qiniu: {
accessKey: "<ACCESS_KEY>",
secretKey: "<SECRET_KEY>",
bucket: "<Bucket>"
},
// 又拍云(任选其一)
upyun: {
serviceName: "<service name>",
operatorName: "<operator name>",
operatorPassword: "<operator password>",
}
})
]aliyun- 初始化阿里云OSS参数。huawei- 初始化华为云OBS参数。tencent- 初始化腾讯云COS参数。qiniu- 初始化七牛云参数。upyun- 初始化又拍云参数。disable[boolean]- 是否禁用,默认false。removePrevVersion[boolean]- 是否删除云端以前的版本,默认falselog[boolean]- 是否显示日志,默认falsecover[boolean|RegExp]- 图片、字体文件是否覆盖,默认false,填写正则时可以参考/\.(png|jpe?g|gif|ico|woff2?|svg|ttf|eot)$/。custom[js文件,例如require("./template.js")]- 自定义上传文件,可以参照项目中的文件template.js文件,能够作为除aliyun huawei qiniu upyun之外的扩展或修改。
aliyun按照设置CORS设置CORShuawei按照配置桶的CORS中“通过OBS Browser配置桶的CORS”设置tencent按照设置跨域访问设置qiniu按照CORS 跨域共享设置upyun按照CORS 跨域配置设置
- 云端访问权限请设置为“公共读写”或者“公共读”
options参数中aliyun、huawei、tencent、qiniu和upyun同时配置只有第一个有效options.disable该插件在非打包模式时禁用options.deletePrevBuildFile启用该项会把以前的版本删掉,建议在服务器定期清理。
webpack
// 将打包文件夹下的index.html文件部署到服务器,即可访问