私はcognitoを使用してユーザーを登録しようとしています。私はプールとアプリをセットアップして、プールIDとクライアントIDを取得しました。 TypeError:未定義の 'CognitoUserPool'プロパティを読み取れません
var AWS = require('aws-sdk'); // Tried 'aws-sdk/dist/aws-sdk' too
var AWSCognito = require('amazon-cognito-identity-js'); // Tried var cognito = ... too
var CognitoUserPool = AWSCognito.CognitoUserPool;
exports.handler = function(event, context, callback) {
registerUset();
callback(null, "some success message");
}
var registerUset= function(){
var poolData = {
UserPoolId : 'xxxxxxxxxxxx', // Your user pool id here
ClientId : 'xxxxxxx' // Your client id here
}; console.log("YEEEEEEEEEEEEEEEEEEEEEEEESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS");
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var attributeList = [];
var dataEmail = {
Name : 'email',
Value : '[email protected]'
};
var dataPhoneNumber = {
Name : 'phone_number',
Value : '55555555'
};
var attributeEmail = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute(dataEmail);
var attributePhoneNumber = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute(dataPhoneNumber);
attributeList.push(attributeEmail);
attributeList.push(attributePhoneNumber);
userPool.signUp('username', 'password', attributeList, null, function(err, result){
if (err) {
alert(err);
return;
}
cognitoUser = result.user;
console.log('user name is ' + cognitoUser.getUsername());
console.log(cognitoUser);
});
}
私がアップロードし、ラムダテストコンソールで上記のコードを実行
が、私は次のエラーを取得する次のコードを持っている はSTART RequestId: 40f2d39f-4b97-11e7-a9c0-ef84b50cec07 Version: $LATEST
2017-06-07T15:37:50.315Z 40f2d39f-4b97-11e7-a9c0-ef84b50cec07
YEEEEEEEEEEEEEEEEEEEEEEEESSSSSSSSSSSSSSSSSSSSSSS
2017-06-07T15:37:50.414Z 40f2d39f-4b97-11e7-a9c0-ef84b50cec07 TypeError:
Cannot read property 'CognitoUserPool' of undefined
at registerUset (/var/task/index.js:24:65)
at exports.handler (/var/task/index.js:8:5)
END RequestId: 40f2d39f-4b97-11e7-a9c0-ef84b50cec07
REPORT RequestId: 40f2d39f-4b97-11e7-a9c0-ef84b50cec07 Duration: 3621.75 ms
Billed Duration: 3700 ms Memory Size: 128 MB Max Memory Used: 31 MB
RequestId: 40f2d39f-4b97-11e7-a9c0-ef84b50cec07 Process exited before
completing request
それは未定義の「CognitoUserPool」プロパティを読み取ることができませんと言うています。つまり、CognitoIdentityServiceProviderは不思議ですが未定義です。 は、私の知る限り見るように、私は何が不足していないですし、また、私はコード例については、以下のリンクをたどってセットアップ:インストールとパッケージのhttps://github.com/aws/amazon-cognito-identity-js
私は
> > npm install --save amazon-cognito-identity-js
を使用しても私はaws-インストールsdk。なぜ私は上記のエラーを取得しているか分からない。誰も助けることができますか?
更新:
私は自分のコードの初めに次のように追加しました:
AWSCognito.config.region = 'us-east-1';
と私はので、私はAWSCognitoが未定義だと思う
TypeError: Cannot set property 'region' of undefined
を取得します。
更新:webpackを使用して、javascriptの古いバージョンと互換性があるようにコードを変換し、代わりにimportを使用するように提案しました。だからここに私のコードをな形質転換し、それを実行した後、私のwebpack.config.js
var path = require("path");
var DIST_DIR = path.resolve(__dirname, "dist");
module.exports = {
// Example setup for your project:
// The entry module that requires or imports the rest of your project.
// Must start with `./`!
entry: './',
// Place output files in `./dist/my-app.js`
output: {
path: DIST_DIR,
filename: 'index.js'
},
module: {
noParse: [
/aws\-sdk/,
],
loaders: [
{
test: /\.json$/,
loader: 'json'
}
]
}
};
である私は、次を得る:
{
"errorMessage": "Cannot find module './lib/browser_loader'",
"errorType": "Error",
"stackTrace": [
"Function.Module._load (module.js:417:25)",
"Module.require (module.js:497:17)",
"require (internal/module.js:20:19)",
"Object.<anonymous> (/var/task/index.js:3651:1)",
"__webpack_require__ (/var/task/index.js:20:30)",
"webpackUniversalModuleDefinition (/var/task/index.js:149:28)",
"Object.<anonymous> (/var/task/index.js:156:3)",
"__webpack_require__ (/var/task/index.js:20:30)",
"Object.<anonymous> (/var/task/index.js:75:18)"
]
}
任意のアイデア?