我在java标准环境中有一个GAE应用程序用于后端,而角度4.0用于前端。
该应用程序在本地运行良好,但在部署时,刷新时或尝试键入所需页面的URL时出现404错误。
据我所知,我必须按照angular documentation中的说明定义路由回退,以便将每个未知请求重定向到我的index.html。
据我从许多stackoverflow GAE appengine python问题中了解到,解决方案包括配置app.yaml文件。
好的,但是怎么样?在app引擎标准环境中,app.yaml文件是在staging文件夹中自动生成的,如下所示,但是当我使用google插件进行eclipse部署并且我无法访问它时,一切都在幕后发生。
runtime: java7
inbound_services:
- warmup
derived_file_type:
- java_precompiled
threadsafe: True
auto_id_policy: default
api_version: '1.0'
handlers:
- url: (/.*/)
static_files: __static__\1index.html
upload: __NOT_USED__
require_matching_file: True
login: optional
secure: optional
- url: (/)
static_files: __static__\1index.html
upload: __NOT_USED__
require_matching_file: True
login: optional
secure: optional
- url: (/.*)
static_files: __static__\1
upload: __NOT_USED__
require_matching_file: True
login: optional
secure: optional
- url: /.*
script: unused
login: optional
secure: optional
有人可以告诉我是否有一种方法可以在appengine java标准环境中部署之前编辑app.yaml文件。 最近发布了类似的question,但暂时没有回应。
答案 0 :(得分:0)
我认为你在浏览器端发生的角度路由与服务器端URL路由混淆,后者由web.xml
描述。
我的猜测是,您的web.xml
缺少欢迎文件来加载index.html
。例如,这里有一个简单的web.xml
应该可以解决这个问题:
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>