переписать порядок на хостинге firebase - PullRequest
0 голосов
/ 11 июля 2020

Я не хочу выполнять маршрутизацию с хостингом firebase

"rewrites": [
  {
    "source": "/api/**",
    "function": "api"
  },
  {
    "source": "/**",
    "function": "myfunction"
  },
  {
    "source": "**",
    "destination": "/index.html"
  }
]

/ api / test должен маршрутизироваться на функцию api

/ все должно маршрутизироваться на мою функцию

/ должен маршрутизироваться в index. html на хостинге firebase

по какой-то причине / api / test перенаправляется на myfunction. Я не могу правильно указать порядок перезаписи. Вы можете помочь мне? спасибо

обновление: это то, что у меня сейчас

{
    "hosting": {
        "public": "build",
        "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
        "cleanUrls": true,
        "trailingSlash": false,
        "rewrites": [
            {
                "source": "/api/**",
                "function": "api"
            },
            {
                "source": "/**",
                "function": "myfunction"
            }
        ]
    },
    "functions": {
        "predeploy": ["npm --prefix \"$RESOURCE_DIR\" run lint"]
    }
}

, а myFunction - это тот, который все еще выполняется и игнорирует то, что я установил

/ api / test выполняет myfunction вместо api / something / test выполняет myFunction как ожидалось

1 Ответ

0 голосов
/ 11 июля 2020

«/» (или вообще без sla sh после вашего доменного имени) автоматически перенаправляется на «index. html». Так что просто удалите элемент "source": "**". В частности, удалите:

,
  {
    "source": "**",
    "destination": "/index.html"
  }

Я также хотел бы добавить следующее в мою конфигурацию хостинга Firebase (firebase.json):

    "cleanUrls": true,
    "trailingSlash": false,
...