部署角度应用程序时如何避免路由更改?
Posted
技术标签:
【中文标题】部署角度应用程序时如何避免路由更改?【英文标题】:How to avoid routing changes when deploying angular app? 【发布时间】:2020-07-24 14:06:34 【问题描述】:在本地运行我的 Angular 应用程序时,我可以访问例如 localhost:4200/login。当我部署我的 Angular 应用程序时,当我转到 website.com/login 时,我得到“在此服务器上找不到请求的 URL /login”。我的应用已部署到 Google Cloud 应用引擎。
当我将“useHash: true”添加到我的 RouterModule 时。它工作正常,所以 website.com/#/login 工作,但这似乎违反直觉,因为当有人自己填写 url 时,我会假设他们会填写 website.com/login,这会将他们再次重定向到未找到在这台服务器上。
我怎样才能避免使用这个“useHash:true”并使我的路由与本地路由相同?
【问题讨论】:
您是否尝试过本文中提到的解决方案***.com/questions/43535048/… 尝试了那里提到的所有解决方案。每次重新上传时也删除了缓存,没有任何效果。唯一有效的是当我在其中留下“useHash:true”时。 【参考方案1】:我假设您的 app.yaml
看起来像这样:
handlers:
- url: /
upload: /index.html
static_files: /index.html
secure: always
现在,当您尝试打开 URL /login/
时,app.yaml
中没有它的路由,这就是它返回 404 的原因。所以useHash
指令是您在这里唯一的解决方案。
【讨论】:
以上是关于部署角度应用程序时如何避免路由更改?的主要内容,如果未能解决你的问题,请参考以下文章