Sam*_*Sam 5 javascript amazon-web-services node.js nightmare aws-lambda
我正在使用梦魇js来自动化文件下载.所以两天前我们决定将这个工具移到aws lambda中,我能够使用nightmare-lambda-tutorial获得使用噩梦运行的aws东西,但我的lambda使用了另一个噩梦模块噩梦 - 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);
Run Code Online (Sandbox Code Playgroud)
第4行将导致模块未找到错误.知道如何解决这个问题吗?
听起来确实像:
.zip,或者我认为这个特定的包没有任何理由在 Lambda 环境中出现问题。我按照链接到的教程进行操作,部署并测试了 lambda,添加了nightmare-download-manager依赖项,重新打包并重新部署,一切都按预期进行。
验证您的部署
验证工作区和可部署 zip 文件中是否存在依赖项后,如果仍然存在问题,则需要验证 lambda 环境中是否存在依赖项。
node_modules我没有找到在 AWS 控制台中验证 的存在和内容的方法,但您可以使用 CLI 来执行此操作:
aws lambda get-function --function-name <function-name>
Run Code Online (Sandbox Code Playgroud)
响应中包含一个链接(有效期为 10 分钟),您可以通过该链接下载部署代码的 zip 文件。下载此 zip,并验证node_modules/nightmare-download-manager其中是否包含所需的文件。
如果丢失,则说明您的打包或包的上传/部署出现问题。使用 AWS 控制台重新打包(压缩lib、node_modules和index.js)并重新部署。
假设它在那里,require问题中的陈述对我来说在 Node 4.3 和 Node 6.10 上都工作得很好。
| 归档时间: |
|
| 查看次数: |
290 次 |
| 最近记录: |