App Engine app.yaml处理程序无法按预期运行

时间:2019-04-27 23:20:35

标签: google-app-engine vue.js single-page-application vue-router app.yaml

我正在尝试将vue路由器设置为“历史记录”模式来设置vue.js应用程序。我也想从同一App Engine应用程序提供后端API。 (例如,如果用户导航到/ some / 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应用,而不能在应用中进行深层链接按预期工作

我不想在应用程序中使用脚本来提供静态文件。

请注意,这个问题很相似,但是没有一个答案可以解决我的情况:

1 个答案:

答案 0 :(得分:0)

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

这里有一个示例项目: