gpt4 book ai didi

javascript - aws lambda 中的 Nightmare 下载管理器

转载 作者:搜寻专家 更新时间:2023-10-31 22:53:42 25 4
gpt4 key购买 nike

我正在使用 nightmare js 来自动下载文件。所以两天前,我们决定将这个工具移到 aws lambda 中,我能够使用 nightmare-lambda-tutorial 使 aws 的东西与 Nightmare 一起运行。 ,但我的 lambda 使用了另一个 Nightmare 模块 nightmare-download-manager添加此下载管理器后,lambda 失败并显示 'MODULE_NOT_FOUND' 消息,尽管我已使用 npm install 安装了软件包,并且确实在 node_modules 中找到了文件夹和文件。

所以通过调试,我发现即使是最初的几行代码,lambda 也会失败,例如,

var binaryPack = require('./lib/bootstrap/nightmare-lambda-pack'), 
Xvfb = require('./lib/bootstrap/xvfb'),
Nightmare = require('nightmare');

require('nightmare-download-manager')(Nightmare);

第 4 行将导致模块未找到错误。知道如何解决这个问题吗?

最佳答案

这听起来真的很像:

  • 您的新依赖项未打包到可部署的 .zip 中,
  • 您的新 zip 没有正确上传/部署。

我认为这个特定的包没有任何理由在 Lambda 环境中出现问题。我关注了linked to tutorial ,部署并测试了 lambda,添加了 nightmare-download-manager 依赖项,重新打包和重新部署,一切都按预期工作。


验证您的部署

在验证工作区和可部署 zip 文件中存在依赖关系后,如果仍有问题,您需要验证 lambda 环境中是否存在依赖关系。

我没有看到在 AWS 控制台中验证 node_modules 是否存在及其内容的方法,但您可以 do so with the CLI :

aws lambda get-function --function-name <function-name>

响应中包含一个链接(有效 10 分钟),您可以通过该链接下载用于部署代码的 zip 文件。下载此 zip,并验证 node_modules/nightmare-download-manager 在其中,包含预期的文件。

如果它丢失了,那么你的打包或者你的包的上传/部署出了问题。重新打包(压缩 libnode_modulesindex.js),然后使用 AWS 控制台重新部署。

假设它在那里,问题中的 require 语句在 Node 4.3 和 Node 6.10 上对我来说都很好。

关于javascript - aws lambda 中的 Nightmare 下载管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47980405/

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