[英]How can I import functions from outside /src in React App
我的项目文件夹:
-.vscod
-amplify
-backend
-auth
-api
-functions
-src
-cognitoActions.js
-app.js
-node_modules
-public
-src
-App.js. (Here I am trying to import a method from outside src)
我正在尝试在我的 App.js 文件中使用 amplify/backend/functions/src/cognitoActions.js 中的一种方法,但是在 src 之外导入时出现错误。 什么是一个好的解决方案(考虑到我也可能想在未来部署它)?
我得到的错误
./src/App.js
Module not found: You attempted to import ../amplify/backend/function/AdminQueries/src/cognitoActions which falls outside of the project src/ directory. Relative imports outside of src/ are not supported.
请注意有两个 /src 文件夹
查看https://docs.amplify.aws/cli/auth/admin#example
您应该使用“@aws-amplify/api”中的 API 来调用管理查询
import React from 'react'
import Amplify, { Auth, API } from 'aws-amplify';
import { withAuthenticator } from 'aws-amplify-react';
import awsconfig from './aws-exports';
Amplify.configure(awsconfig);
async function addToGroup() {
let apiName = 'AdminQueries';
let path = '/addUserToGroup';
let myInit = {
body: {
"username" : "richard",
"groupname": "Editors"
},
headers: {
'Content-Type' : 'application/json',
Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`
}
}
return await API.post(apiName, path, myInit);
}
let nextToken;
async function listEditors(limit){
let apiName = 'AdminQueries';
let path = '/listUsersInGroup';
let myInit = {
queryStringParameters: {
"groupname": "Editors",
"limit": limit,
"token": nextToken
},
headers: {
'Content-Type' : 'application/json',
Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`
}
}
const { NextToken, ...rest } = await API.get(apiName, path, myInit);
nextToken = NextToken;
return rest;
}
function App() {
return (
<div className="App">
<button onClick={addToGroup}>Add to Group</button>
<button onClick={() => listEditors(10)}>List Editors</button>
</div>
);
}
export default withAuthenticator(App, true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.