【问题标题】:AWS Lambda function do not work after deployAWS Lambda 功能在部署后不起作用
【发布时间】:2018-03-02 17:44:07
【问题描述】:

当我在本地部署我的 serverless 功能时,它工作正常。但在将它部署到 aws lambda 时它会讲解。我也包含了 web pack。离线运行没有错

Syntax error in module 'handler': SyntaxError
(function (exports, require, module, __filename, __dirname) { import mongoose from 'mongoose';
                                                              ^^^^^^

【问题讨论】:

  • 你在使用 TypeScript 吗?您还可以分享您在 Lambda 中定义“index.handler”的屏幕截图

标签: node.js amazon-web-services lambda serverless-framework


【解决方案1】:

Lambda 在 Node v4.3 或 v6.10 上运行。两个版本都不支持 ES6 模块。

您必须配置您的转译器以转译为 ES5。

对于本地开发,我建议您使用在 Lambda 中使用的相同 Node 版本,这样您就没有这些“但它适用于我的本地!”时刻。

【讨论】:

    【解决方案2】:

    它可能是别的东西。在单独部署功能时,我在几个版本的无服务器版本中遇到了这个问题。

    问题在于,如果您单独部署该功能,webpack 没有重构 es6。

    因此,如果您发现自己部署并且没问题,那么您自己部署了一个函数,它会收到此错误,然后更新无服务器和您的所有插件,这将消失。 (从记忆中我在 v1.19.0 左右通过了这个

    【讨论】:

    • 实际上是运行时设置为nodejs6.10 而不是nodejs8.10,但这让我走上了解决问题的道路。谢谢
    猜你喜欢
    • 2018-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    • 2020-07-13
    • 1970-01-01
    • 2020-12-17
    • 2018-09-30
    相关资源
    最近更新 更多