Angular 中的路由在刷新时抛出 404 资源不可用

Route in Angular throws 404 resource not available when refreshed

我在 tomcat 中部署了我的 angular 应用程序,使用 ng build --prod --base-href=/myapp/ 构建,当我尝试使用 [routerLink]="['/home'] 访问像 http://localhost:8083/myapp/home 这样的特定路由时工作正常,但是当尝试刷新页面或直接从浏览器访问 http://localhost:8083/myapp/home 时,我得到 HTTP Status 404 The requested resource [/myapp/home] is not available,下面是我的路由配置:

const routes: Routes = [
  { path: 'myapp', redirectTo: "/home", pathMatch: "full" },
  { path: 'home', component: HomeComponent }
];

更新:

我在 tomcat 中添加了以下配置,404 错误消失了,但现在当我刷新页面时,我被重定向到默认路由 myapp,而我' m 应该被重定向到当前路线:

<error-page> 
    <error-code>404</error-code>
    <location>/index.html</location>
</error-page>

我通过将 index.html 中的 <base href="/"> 更改为 <base href="./">

解决了这个问题

或在构建中直接指定./ :

ng build --prod --base-href=./