AWS-sdk 导致构建错误“Uncaught TypeError:e 不是构造函数”

ILo*_*eET 5 amazon-s3 typescript reactjs aws-sdk

我的反应应用程序工作正常,直到我想打包并部署它。构建通过vite build成功。但是,当部署并提供构建的文件夹“dist”时,它会显示Uncaught TypeError: e is not a constructor.

经过几个小时的调试,我可以确认是 aws-sdk 导致了问题。特别是以下代码:

const s3 = new S3({
  accessKeyId: VITE_ACCESS_KEY_ID,
  secretAccessKey: VITE_SECRET_ACCESS_KEY,
  region: VITE_REGION,
});
Run Code Online (Sandbox Code Playgroud)

我认为here对应于在已编译的index.bad38efb.jsnew S3(...config)文件中读取的一行,该行给出了错误。o = new e;Uncaught TypeError: e is not a constructor

最终问题归结为,是否有任何替代方案可以使用 s3 进行身份验证,或者有人知道如何解决此问题吗?请让我知道我可以提供哪些额外信息来回答这个问题。

小智 2

遇到了同样的问题,尽管调试起来比较困难,因为我在构建过程中没有遇到任何错误。

解决方案是迁移到SDK 的 v3 版本,该版本维护得更好(并且还有其他好处)。