2016-03-07 59 views
5

导入模块我有一个简单exports.js文件,我已经拉链的文件夹,并把它上传到LAMBDA但运行时它给出了一个错误:无法在LAMBDA

"errorMessage": "Cannot find module 'exports'", 
"errorType": "Error", 
"stackTrace": 
[ 
"Function.Module._resolveFilename (module.js:338:15)", 
"Function.Module._load (module.js:280:25)", 
"Module.require (module.js:364:17)", 
"require (module.js:380:17)" 
] 

任何帮助,将不胜感激。 感谢

+0

你可以发布你的文件夹结构,并且你可能试图“需要”“出口”模块吗? – idbehold

+0

如果您仍然面临这个问题,也许这可能有所帮助:http://stackoverflow.com/a/43105773/4455570 干杯! –

回答

2

1.Name文件exports.js

2.Name处理程序,在文件中,exports.handler

exports.handler = function (event, context) 
{ 
    var YourSkill = new YourSkill(); 
    YourSkill.execute(event, context); 
} 

3.设置中拉姆达配置到出口处理程序。处理器

4.仅压缩文件夹的内容,如果压缩文件夹以及它不会找到您的文件。

5.Rename zip文件exports.zip

0

包括一个在你的目录名为node_modules目录。 压缩你的index.js + node_modules目录并上传。

-1

我有类似的经验。虽然我所做的是在无服务器上,但我认为错误仍然相关,因为它也来自AWS lambda。这是我看到的错误:

Unable to import module 'src/handlers/list': Error 
    at Function.Module._resolveFilename (module.js:469:15) 
    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/src/handlers/list.js:400:18) 
    at __webpack_require__ (/var/task/src/handlers/list.js:20:30) 
    at Object.<anonymous> (/var/task/src/handlers/list.js:370:18) 
    at __webpack_require__ (/var/task/src/handlers/list.js:20:30) 
    at /var/task/src/handlers/list.js:63:18 
    at Object.<anonymous> (/var/task/src/handlers/list.js:66:10) 

我使用的WebPack和我在我的webpack.config.js删除库,库名称是不言自明的解决了这个问题。

我所做的是删除这条线从webpack.config.js:

const nodeExternals = require("webpack-node-externals"); 

请让我知道,如果你需要更多的细节。谢谢