【问题标题】:AWS JS SDK TypeError: STS is not a constructorAWS JS SDK TypeError:STS 不是构造函数
【发布时间】:2018-10-16 08:54:08
【问题描述】:

我有一个使用 aws-sdk 进行认知登录的 ReactJS 应用程序。我使用yarn 安装所有模块,但是当我尝试在 localhost 访问网站时出现 JS 错误:Uncaught (in promise) TypeError: STS is not a constructor

错误指向aws-sdk凭证文件中的这一行:
this.sts = this.sts || new STS(clientConfig);

STS 来自:var STS = require('../../clients/sts');

关于如何解决此错误的任何想法?我已尝试安装或升级其他模块,但仍然出现此错误。

编辑 - VUE.js 示例:

import {
  Config as AWSConfig,
  CognitoIdentityCredentials,
} from 'aws-sdk/global';
import LexRuntime from 'aws-sdk/clients/lexruntime';
import Polly from 'aws-sdk/clients/polly';

【问题讨论】:

  • 我在使用这个库时也遇到了这个问题。我正在与包裹捆绑。
  • @RobFyffe 你做了什么来解决你的问题?
  • 我最终使用了 Vue.js,因为我无法让 React 很好地使用它。 Vue 工作,我没有任何问题。我用 Vue 更新了我的导入范围。

标签: javascript reactjs aws-sdk yarnpkg


【解决方案1】:

我认为new STS(...) 会给你这样的STS in not a constructor 错误。 请去掉 new 运算符:

this.sts = this.sts || STS(clientConfig);

【讨论】:

  • 我检查了 STS 类的来源,发现它正在将其导出为 AWS.STS。所以我使用了|| new AWS.STS(clientConfig);。这解决了这个特定的错误,但后来我得到了一个奇怪的处理器错误,每次都会随机出现在不同的代码行中:/
猜你喜欢
  • 2019-02-06
  • 1970-01-01
  • 2018-08-17
  • 2018-05-11
  • 2018-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多