你如何将aws-sdk-js绑定到无服务器框架优化包中?

由于SDK的加载方式,无法通过browserify运行适用于node.js的AWS开发工具包

我想包括一个更新版本的AWS开发工具包的节点,然后什么是包含在lambda中,但我也想优化(通过browserify)我的lambda node.js代码。

我如何解决这个问题?

JAWS AWS模块系统 (aka awsm)允许通过awsm.json元数据文件中的一个属性来指定这个function,该文件指定了如何打包lambda代码。

特别是在awsm.json规范的lambdaconfiguration选项部分中定义的lambda.package.optimize.excludelambda.package.optimize.includePaths

exclude属性指定应该从优化过程中排除的节点模块(在它仅仅使用browserify exclude的情况下 )。 在exclude属性中,您只需指定['aws-sdk'] 。 然后你必须告诉JAWS把它的path放在includePaths来包含aws-sdk

includePaths属性是相对于back目录的path的列表,在部署之前将其原样拉入到zip文件中。

有关完整的示例,请参阅awsm示例