我按照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存在并导出。但它似乎并不在全局命名空间中 我是否需要运行其他东西来“加载”它?
答案 0 :(得分:0)
问题解决了。
文件名必须是
&#34;亚马逊cognito-identity.min.js&#34;
虽然内容相同,但文件名很重要。 一旦我将其更改为amazon-cognito-identity.min.js,它就可以了。