问题描述
我是 angular 的新手,使用 angular 10。
在“app-routing.module.ts”中,我可以看到下面的配置以在 url 中启用“#”
imports: [ RouterModule.forRoot(routes,{ useHash: true }) ]
问题: 如果我在开发服务器(4200 端口)上通过 vs 代码运行应用程序,那么它将 URL“http://localhost:8081/auth”重定向到“http://localhost:8081/#/auth”并且页面加载成功.
但是如果我通过 Intellij(端口 8080)运行应用程序作为 springboot 应用程序,那么它会重定向到带有 404 的“http://localhost:8081/auth”
有人可以帮忙解决这个问题吗?
解决方法
您不会将其作为 Spring Boot 应用程序运行。 Spring Boot 启动一个托管前端的 tomcat 服务器。
通常您已经将编译好的 angular 应用程序打包在 spring boot 项目的资源目录中。那些在 tomcat 运行时作为静态文件提供。
检查资源文件夹中存在的实际静态文件是否正确(从最新的角度版本正确编译的文件)
通常构建的 Angular 应用程序存储在 /src/main/resources/static
Intelij 将从 target/....
加载整个应用程序,因此请检查您的静态角度文件是否存在。