在特定路径上调用 Cloud Function

invoke Cloud Function on specific paths

我会根据每个请求调用一个函数。我可以从重写中排除 /test 目录吗?

{
   "hosting":{
      "public":"build",
      "ignore":[
         "firebase.json",
         "**/.*",
         "**/node_modules/**"
      ],
      "rewrites":[
         {
            "source":"/**",
            "function":"helloWorld"
         },
         {
            "source":"**",
            "destination":"/index.html"
         }
      ]
   },
   "functions":{
      "predeploy":[
         "npm --prefix \"$RESOURCE_DIR\" run lint"
      ]
   }
}

正如所写,您的规则以一种没有意义的方式重叠,因为您有两条 ** 路线。第二个(指向 index.html)永远不会被匹配。您可以使用否定来执行您的建议:

{
  "rewrites": [
    {"source": "!{/test/**}", "function": "helloWorld"}
  ]
}