App Engine app.yaml处理程序未按预期工作

问题描述 投票:0回答:1

我正在尝试使用在“历史记录”模式下设置的vue路由器来设置vue.js应用程序。我还想从同一个应用引擎应用程序提供我的后端API。 (例如,如果用户导航到/ app / path / in / 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应用程序只能从“/”路由输入,并且应用程序中的深层链接无法按预期工作

我不希望在我的应用程序中有一个脚本来提供静态文件。

请注意,这个问题类似,但没有一个答案解决了我的情况:

google-app-engine vue.js single-page-application vue-router app.yaml
1个回答
0
投票

诀窍是遵循微服务架构并将我的应用程序拆分为两个模块,并在dispatch.yaml文件中定义路由。

这里有一个示例项目:

© www.soinside.com 2019 - 2024. All rights reserved.