gpt4 book ai didi

aws-lambda - 如何在 Netlify lambda 函数之间共享代码

转载 作者:行者123 更新时间:2023-12-03 23:49:12 24 4
gpt4 key购买 nike

我在各自的文件夹中有 3 个单独的函数。它们都使用 Twilio 客户端和 Apollo 客户端分别处理 SMS 和 GraphQL 服务器。

与其在每个文件中使用所有代码来实例化每个客户端(从环境中获取 key 等),不如将它放在某个地方并需要它?

我已经尝试将代码放入顶级函数/文件夹中的 .js 文件中,并在下面的函数代码中要求它,这在 netlify dev 上本地运行良好但是 Module not found '../twilioClient' 出现错误在实时环境中调用该函数时。

/functions
apolloClient.js
twilioClient.js
package.json - specifying deps used by above files
/auth
auth.js - require('../apolloClient')
...
/trails
trails.js - require('../twilioClient') etc.
...

最佳答案

我用这种方法取得了成功。
简答 :
在您的函数文件夹中创建一个 utils 文件,并在您的函数文件中使用它。
长答案 :
我的 netlify.toml文件如下所示:

[build] 
functions = "./functions"
functions文件夹:
/functions
function-1.js
function-2.js
utils.js
utils.js :
exports.helloWorld = () => {
console.log('hello world')
}
function-1.js :
const {helloWorld} = require('./utils')

exports.handler = async (event) => {
helloWorld()
}
测试它 :
运行 netlify dev或部署它。
您的 Functions 日志或终端应显示“hello world”。
我的 netlify 站点从 GitHub 部署。

关于aws-lambda - 如何在 Netlify lambda 函数之间共享代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60164698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com