繁体   English   中英

如何在 Firebase 云函数 Typescript 中定义 const

[英]How to define const in Firebase Cloud Functions Typescript

我得到的错误:未处理的错误 ReferenceError: COLLECTION_A 未定义。 当我上传代码时没有抱怨代码。 我确实需要在多个文件中使用相同的常量。 我尝试使用namespace ,但不允许...

我如何需要定义可以在每个文件中访问的常量?

我在 src 文件夹中有多个文件:
索引.ts
脚.ts
靴子
cnst.ts

在 index.ts 中:

import * as admin from 'firebase-admin'
admin.initializeApp()

export * from './foo'
export * from './boo'

cnst.ts 内部:

const COLLECTION_A = "pathA"
const COLLECTION_B = "pathB"

在 foo.ts 我试图从 cnst.ts 访问 const

...
admin
        .firestore()
        .collection(COLLECTION_A)
...

我想通了! 但是我不喜欢!

有没有更好的办法?? 或者在良好实践方面更正确。 我不太喜欢这种方法,因为可以更改变量,但它应该是 const !

在 cnst.ts 我定义了一个新的 class:

export class Const {
    static COLLECTION_A = "pathA"
    static COLLECTION_B = "pathB"
}

在 foo.ts 我这样导入它:

import { Const } from './cnst'
...    
...
    .collection(Const.COLLECTION_A)
...

我还想出了使用常量的方法:

在cnst.ts里面

export const COLLECTION_A = "pathA"
export const COLLECTION_B = "pathB"

在 foo.ts 我这样导入它:

import { COLLECTION_A } from './cnst'
...    
...
    .collection(COLLECTION_A)
...

我更喜欢第二种方法,因为我使用的是常量。 还有其他适合我的情况的方法吗?

另一种方法是使用outFile标志。 根据Typescript 文档,此标志允许用户:

将 output 连接并发出到单个文件。 连接的顺序由命令行上传递给编译器的文件列表以及三斜杠引用和导入决定。

与在任何地方手动引用特定文件相比,此策略将更好地适应您的程序。

查看文档以获取更多详细信息。

暂无
暂无

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

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