如何在Firebase Cloud Functions Typescript中定义const



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

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

我在src文件夹中有多个文件:
index.ts
foo.ts
boo.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)
...

我想通了!但我不喜欢!

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

在cnst.ts内部,我定义了一个新类:

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文档,此标志允许用户:

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

此策略将更好地适应您的程序,而不是到处手动引用特定文件。

查看文档以了解更多详细信息。

最新更新