在AWS Lambda函数中找不到模块

时间:2018-12-01 21:40:12

标签: amazon-web-services aws-lambda alexa

我的AWS lambda中有2个几乎相似的代码:

这个正在工作:

exports.handler = (event, context) => {
    console.log("works fine");
};

否则,这将不起作用:

const Alexa = require('alexa-sdk');

exports.handler = (event, context) => {
    const alexa = Alexa.handler(event, context);
};

正在导致此错误:

Unable to import module 'index': Error
at Function.Module._resolveFilename (module.js:547:15)

我的文件位于根目录,名为index.js 我的经理设置为index.handler

您知道为什么它不起作用吗?

1 个答案:

答案 0 :(得分:0)

仅aws-sdk软件包预装有Nodejs For AWS Lambda。

您还应该将node_modules文件夹放在上传到的包中 AWS Lambda。

在评论中,有些人为您提供了正确的链接:here

因此,您创建一个文件夹,将index.js放入其中, 初始化一个npm软件包(带有:npm init),然后安装alexa软件包。

npm -i alexa-sdk

将index.js和node_modules都放入zip文件中, 然后重新上传。

它现在应该为您工作。