如何从“/functions”以外的其他目录部署函数?
How to deploy functions from other directory than '/functions'?
大卫在他的仓库中:
https://github.com/davideast/react-ssr-firebase-hosting
在主根目录中有 index.js
具有 firebase 函数的文件,在 /functions
目录中 没有 。
但是,如果我这样做并将我的 index.js
文件放到主根目录,如果我这样做 firebase deploy --only functions
它会在控制台中显示:
i deploying functions
Error: functions\index.js does not exist, can't deploy Firebase Functions
Q:他怎么可能让它起作用?我怎样才能从 /functions
以外的其他目录执行相同的操作并成功部署功能?
谢谢
firebase.json
{
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"function": "ssrapp"
}
]
},
"functions": {
"source": "/"
}
}
您使用 Firebase CLI 创建的项目工作区包含一个名为 firebase.json 的文件,其中包含如下所示的 Cloud Functions 节:
"functions": {
"predeploy": [
"npm --prefix $RESOURCE_DIR run lint"
],
"source": "functions"
}
"source" 属性 定义包含将 运行 用于 Cloud Functions 的代码的文件夹的名称。您可以将其更改为任何您想要的。
如果您想将根目录用作函数文件夹,只需将 firebase.json
.
中的 source
键更改为 .
"functions": {
"source": ".",
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
这将在根目录中查找您的 index.js
文件(请记住将所有其他文件也移至您的根目录)。
文档:https://firebase.google.com/docs/functions/manage-functions#deploy_functions
大卫在他的仓库中:
https://github.com/davideast/react-ssr-firebase-hosting
在主根目录中有 index.js
具有 firebase 函数的文件,在 /functions
目录中 没有 。
但是,如果我这样做并将我的 index.js
文件放到主根目录,如果我这样做 firebase deploy --only functions
它会在控制台中显示:
i deploying functions
Error: functions\index.js does not exist, can't deploy Firebase Functions
Q:他怎么可能让它起作用?我怎样才能从 /functions
以外的其他目录执行相同的操作并成功部署功能?
谢谢
firebase.json
{
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"function": "ssrapp"
}
]
},
"functions": {
"source": "/"
}
}
您使用 Firebase CLI 创建的项目工作区包含一个名为 firebase.json 的文件,其中包含如下所示的 Cloud Functions 节:
"functions": {
"predeploy": [
"npm --prefix $RESOURCE_DIR run lint"
],
"source": "functions"
}
"source" 属性 定义包含将 运行 用于 Cloud Functions 的代码的文件夹的名称。您可以将其更改为任何您想要的。
如果您想将根目录用作函数文件夹,只需将 firebase.json
.
source
键更改为 .
"functions": {
"source": ".",
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
这将在根目录中查找您的 index.js
文件(请记住将所有其他文件也移至您的根目录)。
文档:https://firebase.google.com/docs/functions/manage-functions#deploy_functions