AWS Lambda和Serverless建议使用哪个本地节点版本

Ren*_*rop 4 amazon-web-services node.js aws-lambda serverless-framework

从AWS-Lambda和无服务器框架开始,我对节点版本感到困惑:

AWS帮助网站说,(在21日至2016)

AWS Lambda支持以下运行时版本:

Node.js:v0.10.36

所以我在本地机器上安装了Node.js v0.10.36.通过安装最新的(v 0.4.2)无服务器框架

npm install serverless -g
Run Code Online (Sandbox Code Playgroud)

它给出了以下警告:

npm WARN引擎serverless@0.4.2:wanted:{"node":"> = 4.0"}(当前:{"node":"0.10.36","npm":"1.4.28"})

我认为在本地拥有与AWS相同的版本可能有助于建立一致的开发环境......我错了吗?我应该在本地运行什么Node.js版本才能充分利用无服务器?

Jor*_*ack 6

无服务器框架需要Node.js v4.0或更高版本.v4.x或v5.x行中的任何版本的Node.js都应该有效.

您是正确的,AWS Lambda目前仅支持Node.js v0.10.36.在Node.js v4.0上构建无服务器框架的决定是在预期AWS Lamabda最终将支持Node.js v4.0或更高版本的情况下完成的.

在为AWS Lambda开发代码时,您应该继续仅使用与Node.js v0.10.36兼容的功能.如果您对框架做出任何贡献,则可以使用v4.0 +中提供的Node.js功能.

另一种选择是使用Babelify将您的ES2015代码上传转换为AWS Lambda.这使您可以在ES2015中进行开发,而无需等待AWS Lambda正式支持它.每次使用Optimizer插件部署无服务器框架时,都可以自动完成此操作.

更新:现在存在一个新选项,即无服务器Babel运行时.这比Optimizer的功能更进一步,并在运行时本身内使用Babel.

更新2:AWS Lambda现在支持Node.js v4.3.