【问题标题】:Need help understanding deployment package for nodejs on AWS lambda需要帮助了解 AWS lambda 上的 nodejs 部署包
【发布时间】:2019-07-09 11:55:51
【问题描述】:

我在 typescript 中有一个代码库,可以正常运行并创建所需的 js 文件。接下来,我的任务是从中创建一个部署包并部署到 AWS lambda。当我看到 node_modules 文件夹下的包数量时,它显示了 450 多个包。而一个已经为相同代码库部署的 lambda 函数在 node_modules 下只有大约 50 个包。

有人可以帮助我如何创建部署包,只需在 node_modules 文件夹下使用所需的包。

【问题讨论】:

    标签: node.js typescript aws-lambda


    【解决方案1】:

    请按照以下步骤使用 node_modules 文件部署 lambda 函数

    1. 列出文件夹下任何特定名称下的文件,比如“app

    2. 用所有文件压缩“app”文件夹

    1. 登录到 aws 帐户并使用以下设置创建新的 lambda 函数并上传。 确保 Handler 名称必须类似于 app/index.handler,如果您使用不同的名称,则“app”是 zip 文件夹名称,然后使用那个名字。

    2. 上传文件并点击保存按钮

    3. 尽情享受吧:)

    【讨论】:

    • 感谢详细回答。我一直在遵循相同的部署过程。然而,这是一个棘手的情况,其中我已经部署了一个 lambda 函数,并且也有函数的代码库。这是我的问题。 “当我导出它时,部署的 lambda 函数大约有 50 个包/文件夹,但是当我构建代码库时,我在 node_modules 文件夹中得到了 400 多个文件夹。部署的函数大小为 6MB,我的部署包构建和压缩后约为 16MB .
    • 假设您安装了一个软件包,例如。 “请求”对吗?请求包有自己的 package.json,这意味着它对其他包有一些依赖关系,所以当你安装“请求”时,它会自动安装它的依赖项,你安装一个包,但你可以在你的node_modules 由于模块的依赖,有很多文件夹
    • 这是有道理的。但代码库是相同的。让我们将其视为构建相同代码的两个不同的人。其他人创建的部署包在 node_module 文件夹中只有大约 50 个左右的文件夹,而我创建的部署包有 400 多个文件夹。我会检查是否有办法让其他人遵循这些步骤。我知道如果没有完整的上下文,很难回答这个问题。但是,你的回答肯定有帮助。感激不尽!
    猜你喜欢
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 2016-05-03
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    相关资源
    最近更新 更多