错误:
Unable to import module 'index': Error
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/var/task/node_modules/slack-incoming-webhook/lib/index.js:3:19)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
从我看来,我的代码不是问题,它是slack-incoming-webhook节点模块的问题,但是这条违规代码就是这条看起来完全正常的行。
var SlackClient = require('./client');
我现在尝试了4个不同的软件包(请求,http,node-webhooks和现在的slack-incoming-webhooks),并且它们都在节点模块中失败了。我完全感到困惑,因为我可以让代码在我自己的计算机和Amazon Linux AMI EC2实例上运行(运行相同的节点版本)
所有代码都被压缩并使用aws-cli发送到lambda,我在lambda上部署了node.js代码,之前没有任何问题(alexa技能)。
我在ec2实例上尝试了npm install,我尝试了几个不同的包,我得出结论,lambda中必定存在某种配置错误,但我无法找到。有人能指出我正确的方向......
这是我的代码,如果有人好奇,lambda触发器也是一个aws iot按钮。
const slack = require('slack-incoming-webhook');
const send = slack({
url: 'https://hooks.slack.com/....'
});
exports.handler = function ()
{
send(process.env.company + ' has pushed their panic button! PANIC! PANIC! PANIC!');
};
答案 0 :(得分:4)
答案 1 :(得分:0)
我只想提到使用Apex(http://apex.run/)。 与AWS Lambda一起使用的非常无服务器的框架。设置完成后,无需进行手动压缩。
只需执行几个命令:
由于