AWS Lambda和无服务器推荐使用什么本地节点版本

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

AWS帮助网站表示(截至2016年3月21日)

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

Node.js:v0.10.36

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

npm install serverless -g 

它给出了以下警告:

npm WARN引擎serverless@0.4.2:想要:{“node”:“> = 4.0”}(current:{“node”:“0.10.36”,“npm”:“1.4.28”})

我认为在AWS上本地使用相同版本可能有助于获得一致的开发环境…我错了吗? 我应该在本地运行什么Node.js版本以最大限度地利用无服务器?

接受的答案是指向最新的无服务器版本不支持的无服务器Babel运行时 。 相反,如果您想通过Babel和Webpack添加ES6支持,则应该查看无服务器Webpack插件。

这里是如何做到这一点的详细写作 – http://serverless-stack.com/chapters/add-support-for-es6-javascript.html

无服务器框架需要Node.js v4.0或更高版本。 v4.x或v5.x中任何版本的Node.js都可以工作。

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

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

另一种select是使用Babelify将您的ES2015代码上传到AWS Lambda。 这使您可以在ES2015中进行开发,无需等待AWS Lambda正式支持。 这可以在每次使用Optimizer插件与无服务器框架部署时自动完成。

更新:现在存在一个新的选项, 无服务器Babel运行时 。 这超出了Optimizer的范围,在运行时本身使用了Babel。

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

如果你开始一个全新的,新鲜的项目,我会避免从节点0.10.x开始。 该版本目前正在接受重要的安全修复,并且只有另外五个月(至2016年10月)。

Node.js采用了常见的长期支持(LTS)模式,以保持发布的及时性和稳定性。 这是当前的节点LTS计划 。

我强烈build议从版本4或版本5开始,具体取决于您对更改的兴趣,并保持项目的最新状态。 您将能够利用0.10 / 0.12版本中的众多新function ,并为ES6做好准备。