繁体   English   中英

为 AWS Lambda 和 Serverless 推荐的本地节点版本

[英]What local node-version is recommended for AWS Lambda and Serverless

从 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"}(当前:{"node":"0.10.36","npm":"1.4.28"})

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

无服务器框架需要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。

如果你开始使用一个全新的项目,我将极力避免从节点0.10.x开始。 那个版本刚刚接收到重要的安全修复程序,而且仅在另外五个月内(直到2016年10月)。

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

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

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

以下是有关如何操作的详细说明 - http://serverless-stack.com/chapters/add-support-for-es6-javascript.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM