Jon*_*att 5 code-sharing aws-lambda netlify serverless netlify-function
我有 3 个独立的函数,每个函数都在它们自己的文件夹中。它们都使用 Twilio 客户端和 Apollo 客户端分别处理 SMS 和 GraphQL 服务器。
与其在每个文件中都拥有实例化每个客户端(从 env 等获取密钥)的所有代码,不如将它放在某个地方并需要它?
我尝试将代码放入顶级函数/文件夹中的 .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.
...
Run Code Online (Sandbox Code Playgroud)
我确实在将共享模块放入本地 npm 包中取得了一些成功(本地和实时):
\n\n/functions\n /utils\n package.json\n index.js\n /src\n /auth\n auth.js\n /trails\n trails.js\n package.json\nRun Code Online (Sandbox Code Playgroud)\n\n导出 中的所有常用模块并在 中functions/utils/index.js设置属性。"main": "index.js"functions/utils/package.json
在functions/package.json安装模块中:
{\n "dependencies": {\n ...\n "utils": "file:utils"\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n并将其导入到您的函数中(在 中functions/src/auth/auth.js):import { apolloClient, twilioClient }\xc2\xa0from "utils"
请查看此存储库以供参考。
\n| 归档时间: |
|
| 查看次数: |
620 次 |
| 最近记录: |