根据https://cloud.google.com/functions/docs/writing/,Firebase云功能使用Node v6.11.5
是否有任何关于选择这样一个旧版本的见解,特别是考虑到它使我无法在EC语言等JS语言中使用更新的语法?
答案 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。
答案 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)