Обработчики app.yaml в App Engine не работают должным образом

Я пытаюсь настроить приложение vue.js с маршрутизатором vue, установленным в режиме «истории». Я также хочу обслуживать свои серверные API-интерфейсы из того же приложения-движка приложения. (например, если пользователь переходит к / some / path / в / the / app и обновляет страницу или делится ссылкой, приложение отобразит ожидаемую страницу)

вот мой app.yaml:

runtime: python37

handlers:
  - url: /api/.*
    secure: always
    script: auto

  - url: /css
    static_dir: www/css

  - url: /js
    static_dir: www/js

  - url: /semantic
    static_dir: www/semantic

  - url: /img
    static_dir: www/img

  - url: /
    static_files: www/index.html
    upload: www/index.html

  - url: /.*
    static_files: www/index.html
    upload: www/index.html

Когда я пытаюсь попасть в любую из моих конечных точек api, вместо ответа конечной точки используется статический файл index.html.

Если последний маршрут опущен (url: /.*), то конечные точки api обслуживаются правильно, но приложение Vue.js может быть введено только из маршрута «/», а глубокие ссылки в приложении не работают должным образом.

Я не хочу, чтобы в моем приложении был скрипт для обслуживания статического файла.

обратите внимание, этот вопрос аналогичен, но ни один из ответов не касается моей ситуации:


person Fisch    schedule 27.04.2019    source источник


Ответы (1)


Уловка заключалась в том, чтобы следовать архитектуре микросервисов и разделить мое приложение на два модуля и определить маршруты в файле dispatch.yaml.

Здесь есть образец проекта:

person Fisch    schedule 28.04.2019