为什么Firebase云功能上的Node版本如此之久?

时间:2018-03-23 13:43:11

标签: firebase google-cloud-functions

根据https://cloud.google.com/functions/docs/writing/,Firebase云功能使用Node v6.11.5

是否有任何关于选择这样一个旧版本的见解,特别是考虑到它使我无法在EC语言等JS语言中使用更新的语法?

4 个答案:

答案 0 :(得分:10)

编辑:截至2018年,Cloud Functions已退出测试版。现在有节点8支持,但它目前处于测试阶段。

有许多事情要记住。

云功能仅使用具有LTS(长期支持)的节点版本。只有偶数版本的节点才能收到LTS。

云功能处于测试阶段,工程团队比提供新版本的节点更重要。实现生产就绪是一个优先事项,并且这并不一定涉及拥有最新版本的节点。

简单地放入新的主要版本是不可行的,因为这可能会破坏现有客户端。可能必须是每个项目都可以选择他们想要使用的节点版本,这是一个重大变化。

您可以使用任何可以转换为ES6的语言。如果您愿意,这包括TypeScript甚至Kotlin。 The Firebase CLI supports TypeScript directly,现在已有几个月了。 TypeScript实际上是Firebase团队推荐的开发语言。

如果您希望掌握云功能开发的最新语言,我强烈建议您不要依赖节点版本。相反,选择可以转换为ES6的工具。

答案 1 :(得分:8)

Firebase Cloud Functions现在支持节点8。有关升级的说明:Cloud Functions: Migrating to Node 8

更新:Official announcement and instructions

答案 2 :(得分:5)

更新:现在不建议使用节点6。现在,最新的firebase-tools将以下内容添加到functions/package.json中,如果没有,则可以添加:

"engines": { "node": "8" }

Firebase仅对节点10提供launched beta版支持,您也可以使用它:

"engines": { "node": "10" }

请注意,目前有一个bug在使用节点10,应该在撰写本文的1周内(即5月12日这一周)进行修复。

答案 3 :(得分:0)

每当你看到这个

Firebase 将使用 LTS 标记的时间版本

enter image description here