问题标签 [netlify-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
496 浏览

javascript - 为什么我的功能性反应组件的状态会抛出 TypeError: state is undefined?

我正在使用 React 开发我的第一个网站,该网站基于 FaunaDB 数据库。我正在使用 Netlify 和 Netlify 函数来访问我的服务器端代码。当尝试使用 react useEffect、useState 和 useRef 从数据库中获取所有数据时,我得到 TypeError: state is undefined。结果在 state 中设置为一个对象数组,所以我的 state 初始值是一个空数组。我尝试转换为类组件,但得到了相同的响应。我想知道我是否不应该使用array.map,但我已经尝试了一个for循环,它不会抛出错误,但它也不会渲染任何东西。

这是我在组件中的代码:

这是我的 getAll 函数:

以及它正在获取的功能:

这是我第一次使用 React hooks,所以我还在学习中。请帮忙!

0 投票
1 回答
137 浏览

javascript - Netlify Lambda 不包含 Function 的支持文件

我正在使用 Netlify Lambda 在我的网站上托管一个表单。

表格效果很好,但真的很乱。

为了清理文件,我创建了一个具有必要功能的新文件并将它们导入到我的表单文件中。现在我有两个文件而不是一个。文件是forms.jsformData.jsformData.js具有forms.js依赖的功能。

出于某种原因,我的表格现在不起作用。就像没有导入数据一样。

这是我的文件夹结构:

src/functions/forms/forms.js
src/functions/forms/formData.js

netlify.toml文件:

在我的forms.js文件中,我从文件中导入了数据,formData.js如下所示:

我跑了,npm run build希望构建能够获取附加文件,但什么也没发生,它也不起作用。有什么建议吗?

提前致谢。

0 投票
1 回答
479 浏览

javascript - FetchError:对 https://db.fauna.com/ 的请求失败,原因:写 EPIPE

我正在尝试使用访问 FaunaDB 的 Netlify 函数启动我的新 Web 应用程序,虽然它似乎在本地工作得很好(通过 netlify 开发),但当它在线时,感觉每次对数据库的第三次调用都失败并出现以下错误:

我不知道这意味着什么或我可能做错了什么或如何解决它。似乎它站在动物界的一边。

所有对 Fauna 执行调用的“服务器端代码”都在各种 Netlify 函数中(我猜这些函数只是封装了 AWS Lambdas)。各种不同的函数调用碰到不同的 Netlify 函数会产生这个错误,而不仅仅是一个错误。

0 投票
1 回答
234 浏览

javascript - 完成后如何停止 Node.JS netlify 功能?

我在 netlify 上编写了一个 Node.JS lambda 函数,它在 firestore 中创建了一个文档。当函数被调用时,文档被添加到 firestore,但问题是 netlify 函数没有返回响应并且函数没有停止(因为在 期间出错netlify dev)。

我的代码如下:

我的netlify dev日志是:

0 投票
1 回答
1115 浏览

javascript - stripe.confirmCardPayment 意图秘密 返回空字符串

我正在尝试使用 Netlify 函数将 Stripe Elements Payment Intents 实现到我的 React 应用程序中。提交付款表单返回错误:Unhandled Rejection (IntegrationError): Invalid value for stripe.confirmCardPayment intent secret: value should be a client secret of the form ${id}_secret_${secret}. You specified: .

我可以在 paymentIntent 对象中看到 client_secret 值,因此无服务器函数正在返回 client_secret,但我不能在客户端中适当地实现它。如果我data.clientSecret作为参数传递给stripe.confirmCardPayment,那么我的付款成功完成,但 Elements 表单没有重置,这向我表明此实现存在问题。

setClientSecret 是否没有更新 clientSecret 上的状态?

这是我的 Netlify 函数:

处理提交函数:

0 投票
1 回答
32 浏览

environment-variables - 在 netlify dev 中设置 NODE_PATH - 绝对导入

嗨,我如何在 .env 文件中为 netlify 开发人员设置 NODE_PATH。因为我有一个错误

App 是基于 Create React App 构建的

0 投票
1 回答
1012 浏览

reactjs - Fetch().then() 不返回数据

我在从我的云功能获取返回数据时遇到了一些麻烦,我现在只是想用云功能将数据写入谷歌电子表格。以下是我目前的代码。

我有一个按钮,onClick={this.AddRecord}然后可以调用云功能

这是我的云函数 POST 处理程序:

如果有人能指出我正确的方向,我将不胜感激,因为我花了很多时间尝试调试它但无济于事。

到目前为止我读过的一些资源:

fetch() 调用不返回任何数据

https://www.smashingmagazine.com/2020/06/rest-api-react-fetch-axios/

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

编辑:

我尝试通过 POSTMAN 调用云功能并成功获得带有消息的状态 200 响应。 邮递员测试

所以我可以安全地假设问题不在于云函数,而是 fetch 函数,但我仍然不知道代码的哪一部分出错了,因为它们看起来与我在网上看到的其他代码示例几乎相同。TypeError: Failed to fetch只有当我从我的反应应用程序切换回 POST 时,我 才会得到。获取错误

0 投票
1 回答
722 浏览

node.js - 在 NodeJS netlify-lambda 上运行的 Lambda 函数出错 — “TypeError: Expected signal to be an instanceof AbortSignal”

我最近一直在尝试在 Netlify站点上设置 Lambda 函数。该站点的其余部分在 Gatsby 上运行。我能够获得一些在开发和生产中工作的基本功能(例如返回“hello world”),但是每当我尝试更复杂的东西时都会遇到问题。

我的函数似乎总是在开发中返回一个错误,表示Function invocation failed: TypeError: Expected signal to be an instanceof AbortSignal.我没有尝试让它在生产中工作(尽管它显然不会像现在这样工作,依赖于 .env)。我正在使用netlify-lambda这个。

例如,这是我试图开始工作的代码,来自这个 gist。我正在尝试使用他们的 API 从一个简单的 Airtable 数据库中获取记录。

无论我是从浏览器中点击 url,还是通过 Postman 或表单发送 GET 或 POST 请求,都会发生错误。

Netlify 站点名称是ffinate-engelbart-b6885d,repo 在这里

如果有帮助,很高兴发布错误日志。谢谢!

0 投票
1 回答
139 浏览

authentication - 使用其 api 发送邮件时 sparkpost 的授权错误

我正在尝试使用 sparkpost 的 api 从 netlify 函数发送电子邮件。但是当我使用函数测试函数时:invoke verify-email --no-identity我只收到 401 错误

我有这个简单的功能

这是我收到的错误消息。我已经重新创建了 api-key 但结果相同

0 投票
1 回答
209 浏览

javascript - Netlify 和 Firebase

我正在使用 Netlify 无服务器功能。我想检索数据并将其保存到 firebase firestore。我使用 firebase-admin SDK。

以下是初始化:

我有多个功能,我想知道是否有一种方法可以一次初始化 firebase。因为我必须在我的所有函数中粘贴上面相同的代码,这似乎非常低效且不是最佳实践。

我已经阅读了 NodeJs 中的全局初始化,它只是将其导出,然后在需要的地方导入该代码。但在 netlify 中,它有点不同,因为我放在函数文件夹中的任何文件都将用作 URL 端点。

我对 Netlify 非常陌生,因此非常感谢您的澄清。