簡體   English   中英

部署到 Springboot 應用程序后,角度路由不起作用

[英]Angular routing doesn't work after deploy into a Springboot Application

我已經構建了一個包括 Angluar5 的 Springboot 應用程序。 我有一個 gradle 構建腳本,它將角度文件加載到我的 springboot 項目中。這些文件位於我的 springboot 項目的資源/靜態下。 當我啟動我的應用程序時,angular 的路由不再起作用,我得到

錯誤:無法匹配任何路由。 URL 段:'訪問'

我的項目結構:

在此處輸入圖片說明

我使用以下語句部署了我的 angular 應用程序:

ng build --deploy-url=BeatAcknowledgeTest --op=../backend/src/main/resources/static

這將使我的靜態文件可以通過以下鏈接訪問:

www.mySite.com/BeatAcknowledgeTest/...

如果我輸入

www.mySite.com/BeatAcknowledgeTest/access

頁面呈現,一切都很好,但是當我在另一個組件中時,例如

www.mySite.com/BeatAcknowledgeTest/home

然后我點擊一個按鈕,將我路由到

www.mySite.com/BeatAcknowledgeTest/access

我收到一個錯誤,我的應用程序沒有重定向。

有什么建議?

我通過在我的應用程序中創建 RequestForwardingController 解決了這個問題。 它將處理所有路由:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class RequestForwardingController {
    @RequestMapping(value = "/**/{[path:[^\\.]*}")
    public String redirect() {
        // Forward to home page so that angular routing is preserved.
        return "forward:/";
    }
}

它還解決了重新加載 URL 問題。 在其中單擊瀏覽器的重新加載按鈕,它將顯示 Spring 啟動錯誤頁面。

解決此問題的方法之一是自定義 MVC 配置, 本文基於此答案對此進行了說明: https : //stackoverflow.com/a/46854105

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM