Node.js AWS Lambda和Serverless建议使用哪种本地节点版本

Node.js AWS Lambda和Serverless建议使用哪种本地节点版本,node.js,amazon-web-services,aws-lambda,serverless-framework,Node.js,Amazon Web Services,Aws Lambda,Serverless Framework,从AWS Lambda和无服务器框架开始,我对节点版本感到困惑: 报告称(2016年3月21日) AWS Lambda支持以下运行时版本: Node.js:v0.10.36 所以我在本地机器上安装了Node.js v0.10.36。通过安装最新(V0.4.2)无服务器框架 npm install serverless -g 它给出了以下警告: 警告引擎serverless@0.4.2:通缉:{“节点”:“>=4.0”}(当前: {“节点”:“0.10.36”,“npm”:“1.4.28”})

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

报告称(2016年3月21日)

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

Node.js:v0.10.36

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

npm install serverless -g
它给出了以下警告:

警告引擎serverless@0.4.2:通缉:{“节点”:“>=4.0”}(当前: {“节点”:“0.10.36”,“npm”:“1.4.28”})


我认为在本地使用与AWS相同的版本可能有助于获得一致的开发环境。。。我错了吗?我应该在本地运行哪个Node.js版本才能充分利用serverless?

serverless框架需要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功能

另一个选项是用于将ES2015代码上传到AWS Lambda。这允许您在ES2015中开发,而无需等待AWS Lambda正式支持它。这可以在每次使用部署无服务器框架时自动完成

更新:现在存在一个新选项,即。这超出了优化器的功能,在运行时内部使用了Babel


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

如果您开始一个全新的项目,我会极力避免从Node 0.10.x开始。该版本目前正在接受重要的安全修复,并且仅在接下来的五个月内(直到2016年10月)

Node.js采用了通用长期支持(LTS)模式,以保持发布的及时性和稳定性。对于节点


我强烈建议您从版本4或5开始,这取决于您对更改的兴趣,并使您的项目保持最新。您将能够利用超过0.10/0.12的版本,并更好地为未来做好准备

您需要安装支持节点v0.10.36的无服务器版本。我如何检查该版本?您最好询问此包的贡献者,或者检查版本yourself@Floo0,我在我的机器上运行node v5.1.0,在无服务器v0.4.2上运行。对我来说唯一的问题是ECMA 2015。我建议安装节点版本,因为sls要求“节点”:“>=4.0”。我没有听说社区中有人在为这个版本不匹配而挣扎。我并不是说它是完美的,人们仍在等待Lambda团队更新节点版本。@AluaK非常感谢。刚刚更新了我的节点版本。到目前为止一切顺利,非常感谢你的回答。到目前为止,我对无服务器的易用性感到惊讶。干得好!Lambda现在支持Node 4.3(),我在s-function.json文件中将runtime设置为nodejs4.3,但是当我尝试使用4.3特性时(例如胖箭头函数、模板字符串、生成器等等)会出现错误。无服务器迫使我以某种方式使用非ES2015功能吗?原来我的lambda函数最初是为了使用node0.10(我正在使用无服务器babel插件)创建的,而且serverless没有更新AWS上的配置,即使我已经将运行时更改为s-function.json中的nodejs4.3并重新部署。