【问题标题】:Convert Firebase Cloud Function TypeScript syntax to JavaScript将 Firebase Cloud Function TypeScript 语法转换为 JavaScript
【发布时间】:2020-04-02 18:41:53
【问题描述】:

@DougStevenson 发表了一篇不错的云函数教程here,但他的云函数代码 sn-p 使用的是 TypeScript 而不是 JavaScript。

如何将以下代码转换为原生 JavaScript?

interface ClaimsDocumentData extends admin.firestore.DocumentData {
    _lastCommitted?: admin.firestore.Timestamp
}
export const mirrorCustomClaims =
functions.firestore.document('user-claims/{uid}')
.onWrite(async (change, context) => {
    const beforeData: ClaimsDocumentData =
        change.before.data() || {}
    const afterData: ClaimsDocumentData =
        change.after.data() || {}
})

【问题讨论】:

    标签: javascript typescript firebase google-cloud-functions


    【解决方案1】:

    只需去掉其中的类型数据。

    exports.mirrorCustomClaims =
    functions.firestore.document('user-claims/{uid}')
    .onWrite(async (change, context) => {
        const beforeData = change.before.data() || {}
        const afterData = change.after.data() || {}
    })
    

    您还可以使用 TypeScript 设置另一个项目,将代码添加到其中,编译它,然后简单地观察转译后的 JavaScript。

    该示例的其余部分可能会给您带来更多问题。强烈建议采用 TypeScript,因为所有 JavaScript 都是有效的 TypeScript,您可以按照自己选择的速率将 TypeScript 特性应用到代码中。

    【讨论】:

    • 道格,感谢您的回答。您是否可以编辑它以在 sn-p 中包含开始代码部分(interface... 部分)。如果是这样,我可以将您的答案标记为已接受。
    • JavaScript 中没有 interface 关键字,也没有等效的代码,因为它所做的只是声明一个类型。我建议实际上在 TypeScript 中设置函数,将其编译为 JavaScript,然后查看它生成的内容。
    • 我刚刚根据您的建议使用 ts 设置了一个单独的项目。我现在确实看到了。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2020-04-28
    • 2020-07-25
    • 2017-08-15
    • 2016-11-18
    • 2019-11-12
    • 2023-02-05
    • 2019-05-16
    • 1970-01-01
    相关资源
    最近更新 更多