首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用aws-cognito identity-js时fetch类型错误

使用aws-cognito identity-js时fetch类型错误
EN

Stack Overflow用户
提问于 2019-10-25 04:09:42
回答 2查看 849关注 0票数 2

我正在构建一个使用serverless frameworktypescript的无服务器应用程序,并使用亚马逊网络服务的用户身份验证。当我在local serverless environment中使用应用程序时,一切都正常。我可以注册用户,也可以让用户登录以接收jwt token

但是,当我将代码部署到亚马逊网络服务时,它会给出"message": "fetch is not a function",

因此,我经历了不同的github问题/堆栈溢出,看到每个人都通过在这篇文章-> Nuxt application with amazon-cognito-identity-js package gives error fetch is not defined中添加global.fetch类似的解决方案来建议类似的解决方案

代码语言:javascript
复制
global.fetch = require('node-fetch')
const AmazonCognitoIdentity = require('amazon-cognito-identity-js');

所以我添加了上面的代码,并做了一个npm的node-fetch安装,并推送了代码,但是问题就不同了,因为我使用的是typescript,所以我不能使用global.fetch

所以我在本地找到了不同的方法来改变这一点

代码语言:javascript
复制
Way 1 
const globalAny:any = global;
globalAny.fetch = require('node-fetch');

Way 2
(global as any).fetch = require('node-fetch');

Way 3 -> Written at the end of this post. https://stackoverflow.com/questions/48433783/referenceerror-fetch-is-not-defined

当我在本地和AWS LAMDA中以两种方式运行它时,它都会失败,并返回相同的错误

TypeError: fetch is not a function

所以我别无选择,我在寻找是否有人可以帮助我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-20 00:29:47

较新版本的node fetch与webpack有问题,您可以在此帖子中找到这些问题。https://github.com/bitinn/node-fetch/issues/450

降级到node-fetch@1.7.3,让你的认知工作。

票数 2
EN

Stack Overflow用户

发布于 2020-08-13 23:53:22

如果在项目中使用了webpack,global.fetch将无法工作。在应用根目录添加下面的库。(推荐用于无服务器-webpack/任何其他用于lambda codestart的web包)

代码语言:javascript
复制
require('cross-fetch/polyfill');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58548512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档