如何解决Angular 路由在开发模式下工作,但在作为 Spring Boot 应用程序启动时不工作
我是 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/....
加载整个应用程序,因此请检查您的静态角度文件是否存在。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。