import AWS from 'aws-sdk';
const s3 = new AWS.S3({
endpoint: 'http://' + endpoint,
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey,
s3ForcePathStyle: true,
signatureVersion: 'v4'
});
s3.getSignedUrl('getObject', params, (err, url) => {
let parts = url.match('(http://.*)(/iaas-image/.*)');
let address;
address = window.location.protocol + '//' + window.location.host + parts[2];
if (err) {
console.error('无法生成镜像文件:', err);
} else {
// 使用生成的URL下载图片
window.open(address);
}
});
})
我是正常的使用下载,但是编译出来会有1.7M,不使用时只有170kb
import AWS from 'aws-sdk';
引入后👇
//import AWS from 'aws-sdk';
注掉后👇
咨询下大佬,这个该怎么去优化呢,我应该怎么处理呢?拜谢!
1、可以使用v3版本,可以只引入你真正需要的 AWS 服务模块,而不是整个 SDK
安装:npm install @aws-sdk/client-s3 @aws-sdk/s3-request-presigner @aws-sdk/util-create-request @aws-sdk/credential-provider-node
2、使用vue异步组件功能引入组件,只在需要时才被加载,对于一个使用 aws-sdk 的组件: