gpt4 book ai didi

Google Cloud App Engine 中的 Angular 7 路由不起作用

转载 作者:行者123 更新时间:2023-12-03 15:13:55 26 4
gpt4 key购买 nike

我已经向 Google Cloud App Engine 发布了一个 angular 7 应用程序。

索引页正在加载,但子目录给了我

Error: Not Found
The requested URL /admin was not found on this server.

这是我的 app.yaml:
runtime: nodejs10


env_variables:
environment: "--prod"

handlers:

- url: /
static_files: dist/XXX/index.html
upload: dist/XXX/index.html
- url: /
static_dir: dist/XXX/
- url: /.*
secure: always
script: auto

编辑:
我终于想通了,app.yaml 中的路由如何适用于 Angular 应用程序。
这是我的工作 app.yaml:
runtime: nodejs10

env_variables:
environment: "--prod"

handlers:

- url: /
secure: always
static_files: dist/index.html
upload: dist/.*
- url: /(.*\.js)
secure: always
redirect_http_response_code: 301
static_files: dist/\1
upload: dist/.*\.js
- url: /(.*\.css)
secure: always
redirect_http_response_code: 301
static_files: dist/\1
mime_type: text/css
upload: dist/.*\.css
- url: /.*
secure: always
static_files: dist/index.html
upload: dist/.*

最佳答案

如果您的资源文件只有 js 和 css,我认为您在处理程序中的路由规则可以正常工作。如果您有图像文件、音频文件等,则必须对正则表达式使用更通用的路由规则:

handlers:
- url: /
secure: always
static_files: www/index.html
upload: www/index.html

# Routing rules for resources, css, js, images etc. Any file with format filename.ext
- url: /(.*\.(.+))$
secure: always
static_files: www/\1
upload: www/(.*\.(.+))$

# Routing rule for Angular Routing
- url: /(.*)
secure: always
static_files: www/index.html
upload: www/index.html

这个想法是一样的,但在语法上,任何格式为 filename.* 的文件的通配符匹配将处理所有资源文件。

关于Google Cloud App Engine 中的 Angular 7 路由不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55863502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com