【问题标题】:How to deploy functions from other directory than '/functions'?如何从“/functions”以外的其他目录部署功能?
【发布时间】:2018-08-01 16:00:36
【问题描述】:

大卫在他的回购中:

https://github.com/davideast/react-ssr-firebase-hosting

在主根目录中有带有firebase函数index.js的文件,没有/functions目录中。

但是,如果我这样做并将我的 index.js 文件放到主根目录,如果我这样做 firebase deploy --only functions 它会在控制台中显示:

i  deploying functions

Error: functions\index.js does not exist, can't deploy Firebase Functions

:他是怎么做到的?我该如何做同样的事情并从/functions以外的其他目录成功部署功能?

谢谢

firebase.json

{
  "hosting": {
    "public": "build",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "function": "ssrapp"
      }
    ]
  },
  "functions": {
     "source": "/"
  }
}

【问题讨论】:

    标签: javascript firebase google-cloud-functions firebase-cli


    【解决方案1】:

    您使用 Firebase CLI 创建的项目工作区包含一个名为 firebase.json 的文件,其中包含如下所示的 Cloud Functions 节:

    "functions": {
      "predeploy": [
        "npm --prefix $RESOURCE_DIR run lint"
      ],
      "source": "functions"
    }
    

    “源”属性定义了包含将在 Cloud Functions 上运行的代码的文件夹的名称。您可以将其更改为您想要的任何内容。

    【讨论】:

    • 我和大卫一样 - "source": "**",。但是,它仍然不起作用。
    • 我只是复制粘贴了他的firebase.json - github.com/davideast/react-ssr-firebase-hosting/blob/master/…
    • 该文件只显示“hosting”的配置,与“functions”不同。
    • 你的“functions”节看起来不像我的,它不应该包含任何重写。重写用于托管。托管与 Cloud Functions 是不同的产品,因此它们具有不同的配置。您的“functions”节应该有一个名为“source”的直接子属性,它是包含您要部署的源的文件夹的名称。
    • 这个函数字段的“来源”是否记录在任何地方?
    【解决方案2】:

    如果您想使用您的根目录作为您的函数文件夹,只需将您的 source 密钥更改为您的 firebase.json 中的 .

      "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

    【讨论】:

      猜你喜欢
      • 2022-08-19
      • 2021-08-26
      • 1970-01-01
      • 1970-01-01
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多