Ionic AWS Mobile Hub Starter 问题
Ionic AWS Mobile Hub Starter issues
我按照 github readme 上的说明进行操作,并将该应用程序导入我的 AWS Mobile Hub 项目并将我的项目 aws-config.js 下载到 src/assets。当我尝试为应用程序提供服务时,出现运行时错误:
Runtime Error:
aws_cognito_region is not defined
Stack:
ReferenceError: aws_cognito_region is not defined
at new Cognito (http://localhost:8100/build/main.js:112:36)
at _createClass (http://localhost:8100/build/vendor.js:10975:20)
at _createProviderInstance (http://localhost:8100/build/vendor.js:10949:26)
at resolveNgModuleDep (http://localhost:8100/build/vendor.js:10934:17)
at _createClass (http://localhost:8100/build/vendor.js:10977:29)
at _createProviderInstance (http://localhost:8100/build/vendor.js:10949:26)
at resolveNgModuleDep (http://localhost:8100/build/vendor.js:10934:17)
at NgModuleRef_.get (http://localhost:8100/build/vendor.js:12159:16)
at resolveDep (http://localhost:8100/build/vendor.js:12655:45)
at createClass (http://localhost:8100/build/vendor.js:12525:32)
如有任何见解,我们将不胜感激。
编辑:我在 app.config.ts 代码下方添加了我的 aws-config.js 文件的一部分(省略了顶部包含我的 AWS 移动中心项目详细信息的常量声明)
app.config.ts:
import { Injectable } from '@angular/core';
declare var AWS: any;
declare const aws_mobile_analytics_app_id;
declare const aws_cognito_region;
declare const aws_cognito_identity_pool_id;
declare const aws_user_pools_id;
declare const aws_user_pools_web_client_id;
declare const aws_user_files_s3_bucket;
@Injectable()
export class AwsConfig {
public load() {
// Expects global const values defined by aws-config.js
const cfg = {
"aws_mobile_analytics_app_id": aws_mobile_analytics_app_id,
"aws_cognito_region": aws_cognito_region,
"aws_cognito_identity_pool_id": aws_cognito_identity_pool_id,
"aws_user_pools_id": aws_user_pools_id,
"aws_user_pools_web_client_id": aws_user_pools_web_client_id,
"aws_user_files_s3_bucket": aws_user_files_s3_bucket
};
AWS.config.customUserAgent = AWS.config.customUserAgent + ' Ionic';
return cfg;
}
}
aws-config.js:
const 'aws_cognito_region' = 'us-east-1';
... etc
AWS.config.region = aws_project_region;
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: aws_cognito_identity_pool_id
}, {
region: aws_cognito_region
});
AWS.config.update({customUserAgent: 'MobileHub v0.1'});
您需要使用您的 AWS 信息(应用程序 ID、池 ID 等)配置 src/app/app.config。
我通过转到 aws-config.js 并删除每个定义的变量上的单引号解决了这个问题。所以如果你有这个:
const 'aws_cognito_region' = 'us-east-1';
改为:
const aws_cognito_region = 'us-east-1';
我按照 github readme 上的说明进行操作,并将该应用程序导入我的 AWS Mobile Hub 项目并将我的项目 aws-config.js 下载到 src/assets。当我尝试为应用程序提供服务时,出现运行时错误:
Runtime Error:
aws_cognito_region is not defined
Stack:
ReferenceError: aws_cognito_region is not defined
at new Cognito (http://localhost:8100/build/main.js:112:36)
at _createClass (http://localhost:8100/build/vendor.js:10975:20)
at _createProviderInstance (http://localhost:8100/build/vendor.js:10949:26)
at resolveNgModuleDep (http://localhost:8100/build/vendor.js:10934:17)
at _createClass (http://localhost:8100/build/vendor.js:10977:29)
at _createProviderInstance (http://localhost:8100/build/vendor.js:10949:26)
at resolveNgModuleDep (http://localhost:8100/build/vendor.js:10934:17)
at NgModuleRef_.get (http://localhost:8100/build/vendor.js:12159:16)
at resolveDep (http://localhost:8100/build/vendor.js:12655:45)
at createClass (http://localhost:8100/build/vendor.js:12525:32)
如有任何见解,我们将不胜感激。
编辑:我在 app.config.ts 代码下方添加了我的 aws-config.js 文件的一部分(省略了顶部包含我的 AWS 移动中心项目详细信息的常量声明)
app.config.ts:
import { Injectable } from '@angular/core';
declare var AWS: any;
declare const aws_mobile_analytics_app_id;
declare const aws_cognito_region;
declare const aws_cognito_identity_pool_id;
declare const aws_user_pools_id;
declare const aws_user_pools_web_client_id;
declare const aws_user_files_s3_bucket;
@Injectable()
export class AwsConfig {
public load() {
// Expects global const values defined by aws-config.js
const cfg = {
"aws_mobile_analytics_app_id": aws_mobile_analytics_app_id,
"aws_cognito_region": aws_cognito_region,
"aws_cognito_identity_pool_id": aws_cognito_identity_pool_id,
"aws_user_pools_id": aws_user_pools_id,
"aws_user_pools_web_client_id": aws_user_pools_web_client_id,
"aws_user_files_s3_bucket": aws_user_files_s3_bucket
};
AWS.config.customUserAgent = AWS.config.customUserAgent + ' Ionic';
return cfg;
}
}
aws-config.js:
const 'aws_cognito_region' = 'us-east-1';
... etc
AWS.config.region = aws_project_region;
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: aws_cognito_identity_pool_id
}, {
region: aws_cognito_region
});
AWS.config.update({customUserAgent: 'MobileHub v0.1'});
您需要使用您的 AWS 信息(应用程序 ID、池 ID 等)配置 src/app/app.config。
我通过转到 aws-config.js 并删除每个定义的变量上的单引号解决了这个问题。所以如果你有这个:
const 'aws_cognito_region' = 'us-east-1';
改为:
const aws_cognito_region = 'us-east-1';