无法使用vanilla JS for AWS Cognito,并且未定义AmazonCognitoIdentity

时间:2018-03-20 01:21:33

标签: aws-cognito

我按照https://github.com/aws/aws-amplify/tree/master/packages/amazon-cognito-identity-js

的说明操作

这是我的HTML代码:

<html>

  <head>
    <title>Testing AWS Cognito</title>
    <script src="/js/aws/aws-cognito-sdk.js"></script>
    <script src="https://sdk.amazonaws.com/js/aws-sdk-2.211.1.min.js"></script>


  </head>

  <body>
    <div>
      <input type="text" id="email" name="email" placeholder="email"> <br/>
      <input type="text" id="username" name="username" placeholder="username"><br/>
      <input type="text" id="phone" name="phone" placeholder="phone"><br/>
      <input type="text" id="password" name="password" placeholder="password"><br/>
      <button id="signup" onClick="register()" >Register</button>
    </div>

    <script>
      const register = function() {
        console.log("onclick loading now");
        var CognitoUserPool = AmazonCognitoIdentity.CognitoUserPool;
      }
    </script>

  </body>


</html>

但是当我运行它时,它给了我:

  

“signup_aws_test.html:32未捕获的ReferenceError:   AmazonCognitoIdentity未定义“

我非常确定在单击按钮之前两个文件都已加载。

在aws-cognito-sdk.js中,我可以看到AmazonCognitoIdentity存在并导出。但它似乎并不在全局命名空间中 我是否需要运行其他东西来“加载”它?

1 个答案:

答案 0 :(得分:0)

问题解决了。
文件名必须是 &#34;亚马逊cognito-identity.min.js&#34;

虽然内容相同,但文件名很重要。 一旦我将其更改为amazon-cognito-identity.min.js,它就可以了。