我正在使用带有类似于此指令的打字稿的Firebase函数。但是,我想将所有 tsc 编译结果保存在一个单独的构建文件夹中,因此tsc
后我的项目文件夹如下所示:
myApp
|__ functions
|__ src/index.ts
|__ build/src/index.js
如何让火力基地找到build/src/index.js
而不是./index.js
?似乎没有火力基地部署选项。
目前我必须在我的 npm 脚本中cp build/src/index.js .
,但这感觉就像一个黑客。
默认情况下,Firebase 会在functions/
文件夹中查找源代码,但您可以通过在firebase.json
中添加以下行来指定另一个文件夹:
"functions": {
"source": "another-folder"
}
参考: https://firebase.google.com/docs/functions/manage-functions
为函数指定不同输出文件夹的选项,就像为托管一样。因此,您可能需要将.ts文件放入不同的文件夹中(例如 myApp/functions_src
),并告诉 tsc 使用此处所述的--outdir ./functions
将编译后的版本输出到 myApp/functions
中。
Firebase 实际上使用functions/package.json
文件中的main
字段,您只需使用正确的编译路径更新它:
{
"main": "build/src/index.js"
}