【发布时间】:2018-09-02 05:05:07
【问题描述】:
根据https://cloud.google.com/functions/docs/writing/,Firebase Cloud Functions 使用 Node v6.11.5
是否有任何关于为什么选择这样一个旧版本的见解,特别是考虑到它让我无法在像 ECMA6 这样的 JS 语言中使用更新的语法?
【问题讨论】:
标签: firebase google-cloud-functions
根据https://cloud.google.com/functions/docs/writing/,Firebase Cloud Functions 使用 Node v6.11.5
是否有任何关于为什么选择这样一个旧版本的见解,特别是考虑到它让我无法在像 ECMA6 这样的 JS 语言中使用更新的语法?
【问题讨论】:
标签: firebase google-cloud-functions
编辑:从 Cloud Next 2018 开始,Cloud Functions 已退出测试版。现在支持 node 8,但目前处于测试阶段。
有很多事情要记住。
Cloud Functions 将仅使用具有 LTS(长期支持)的节点版本。只有偶数版本的节点接收 LTS。
Cloud Functions 处于测试阶段,工程团队的优先事项比提供新版本的节点更重要。准备好生产是当务之急,这不一定涉及拥有最新版本的节点。
简单地加入新的主要版本是不可行的,因为这可能会破坏现有客户端。可能必须是每个项目都可以选择他们想要使用的节点版本,这是一个重大的变化。
您可以使用任何可以转换为 ES6 的语言。如果您愿意,这包括 TypeScript 甚至 Kotlin。 The Firebase CLI supports TypeScript directly,已经有几个月了。 TypeScript 实际上是 Firebase 团队推荐的开发语言。
如果您想掌握最新的 Cloud Functions 开发语言,我强烈建议您不要依赖 node.js 的版本。相反,选择可以转译为 ES6 的工具。
【讨论】:
Firebase Cloud Functions 现在支持 Node 8。有关如何升级的说明:Cloud Functions: Migrating to Node 8。
【讨论】:
节点 6 + 8 支持已弃用。最新的firebase-tools现在在functions/package.json中添加了以下内容,如果没有可以添加:
"engines": { "node": "12" }
请注意,这是撰写本文时的稳定版本,但 14 已经处于测试阶段并且可以使用:https://firebase.google.com/docs/functions/manage-functions
【讨论】: