我在NodeJS下有一个项目,托管在AWS上,我想在几个lambdas中使用几个函数,而不必复制和粘贴.目前,我在构建时运行一个复制所有这些文件的shell ,但缺点是我使用的所有包也必须安装在所有这些lambdas中.

所以我想知道是否有更干净的方法来做这件事.

PS:构建是通过Github操作完成的

推荐答案

您可以执行以下任一操作:

  • 使用Lambda layers可以冻结依赖项版本,减少每个lambda的权重,避免重复的代码库.它允许您减少使用它的函数的重复代码.然而,一个缺点是,如果层内部出现混乱,导入功能都将受到影响.
  • 在将NodeJS函数部署到AWS lambda之前,对其进行Bundle 、缩小和树形共享(更易于在Typescript 中实施).

Node.js相关问答推荐

Node.js PNG缓冲区获取未知图像格式错误

是否可以在MongoDB中比较和匹配引用文档中的字段

如何在Sequelize with Postgres中将m:n关联表ID从整数迁移到UUID?

当API返回400状态代码时,使用Reactjs fetch获取错误消息

Gulp 能否向 Docker 发出增量构建的第一次迭代完成的信号?

只要我在后端正确验证所有内容,就可以将这些数据存储在本地存储中吗?

firebase/messaging 不提供名为 getToken 的导出

对 google api v3 的 Axios 请求返回加密(?)数据

如何让我的 Next.js 应用在运行 ubuntu-latest 的 Azure 应用服务中启动?

使用 $in 查询时,如何获取 mongoDB 中每个唯一 ID 的 n 个文档?

无服务器无法获取所有记录事件对象验证失败?

在 Express-js 中使用路由

什么是nestjs错误处理方式(业务逻辑错误vs.http错误)?

bash:npm:找不到命令?

Nodejs 随机免费 tcp 端口

具有多个条件的mongoose 查找

npm publish 导致'错误:EPERM:不允许操作,取消链接...',errno -4048

Npm postinstall 仅用于开发

为什么 Node.js 没有原生 DOM?

node/nodemon 中是否有对 typescript 的源映射支持?