【发布时间】:2021-12-30 06:43:15
【问题描述】:
我正在处理一个项目,并且我使用了 Amazon Cognito 服务进行身份验证。现在,我有一个文件,其中定义了用户池,并且对于那些用户池配置,我使用了环境变量(带有前缀 REACT_APP_)但是当我将这个包含用户池的文件导入另一个文件时,它给了我一个错误,它不能获取那些环境变量。我提供了下面的代码以便更好地理解。
用户池.js
import { CognitoUserPool } from 'amazon-cognito-identity-js'
// This line below is Printing the Env Variable Correctly
// console.log(process.env.REACT_APP_USERPOOL_ID_USER)
const poolData_user = {
UserPoolId: process.env.REACT_APP_USERPOOL_ID_USER,
ClientId: process.env.REACT_APP_CLIENT_ID_USER
}
const poolData_admin = {
UserPoolId: process.env.REACT_APP_USERPOOL_ID_ADMIN,
ClientId: process.env.REACT_APP_CLIENT_ID_ADMIN
}
export const userPool = CognitoUserPool(poolData_user)
export const adminPool = CognitoUserPool(poolData_admin)
SignUpPage.js
import { userPool, adminPool } from './Userpool'
const SignUpPage = () => {
// This method below will be invoked when user clicks on a Button
const handleButtonClick = () => {
userPool.singUp('someEmail','somePassword',[],null,(err,result)=>{
if(err)
console.error(err)
else
console.log(result)
})
}
return ({/* some JSX which has a button*/})
}
但是当我在SignUpPage.js 中使用该按钮时,它给了我如下所示的错误。
即使我在文件中使用dotenv 模块,也会出现相同的错误,如下所示。
用户池.js
此文件将保持如上所示。
SignUpPage.js
import dotenv from 'dotenv'
import { userPool, adminPool } from './Userpool'
dotenv.config()
const SignUpPage = () => {
// This method below will be invoked when user clicks on a Button
const handleButtonClick = () => {
userPool.singUp('someEmail','somePassword',[],null,(err,result)=>{
if(err)
console.error(err)
else
console.log(result)
})
}
return ({/* some JSX which has a button*/})
}
【问题讨论】:
标签: reactjs amazon-web-services environment-variables amazon-cognito