| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- const ALIOSS = require('ali-oss')
- const WebpackAliyunOSS = require("webpack-aliyun-oss")
- const OSSCFG = require('./aliyun-oss-config')
- const aliyunOSSClient = new ALIOSS({
- region: OSSCFG.region,
- accessKeyId: OSSCFG.accessKeyId,
- accessKeySecret: OSSCFG.accessKeySecret,
- bucket: OSSCFG.bucket
- });
- async function deleteFile(filename) {
- await aliyunOSSClient.delete(filename)
- }
- async function deleteOldFiles() {
- let result = await aliyunOSSClient.list({
- "max-keys": 1000
- })
- result.objects && result.objects.forEach(obj => {
- if (obj.name.indexOf(OSSCFG.path) >= 0) {
- deleteFile(obj.name)
- }
- })
- }
- deleteOldFiles()
- new WebpackAliyunOSS({
- from: ['./dist/**', '!./dist/**/*.html'],
- dist: '/',
- region: OSSCFG.region,
- deletOrigin: false,
- accessKeyId: OSSCFG.accessKeyId,
- accessKeySecret: OSSCFG.accessKeySecret,
- bucket: OSSCFG.bucket,
- setOssPath: filePath => {
- let index = filePath.lastIndexOf('dist')
- let path = filePath.substring(index + 4, filePath.length)
- return OSSCFG.path + '/' + path.replace(/\\/g, '/')
- },
- setHeaders(filePath) {
- // some operations to filePath
- return {
- 'Cache-Control': 'max-age=31536000',
- 'Access-Control-Allow-Origin': '*'
- }
- }
- }).apply()
|