2016-07-04 139 views
1

我不知道什麼是有這種行爲發生,但是當: 我包括在HTML下面的腳本鏈接具有角度應用靜態內容行爲的Spring Boot MVC?

<link href='./css/style.css' rel="stylesheet" type="text/css"/> 
<script type="text/javascript" src="./js/app.js"></script> 

的頁面不應用CSS或者JS,如果我只是在任何瀏覽器中打開HTML頁面直接,但它在服務器上運行,並應用鏈接

當我包括代替下面的鏈接透水

<link href='../static/css/style.css' rel="stylesheet" type="text/css"/> 
<script type="text/javascript" src="../static/js/app.js"></script> 

它運行直接打開瀏覽器頁面的時候,但它的當在服務器上運行 未申請我想不通爲什麼會發生

+0

因爲您不應該使用相對鏈接...請改用絕對鏈接。 –

+0

Spring引導項目中的絕對鏈接應該如何實現,並且可以部署嗎? –

+0

爲什麼它應該不同,如果你部署或不? –

回答

1

這背後的原因是因爲當你在服務器上運行,春天開機src/main/resources/static文件夾映射到您的上下文根(通常/)。

這意味着,如果你有以下結構:

src/ 
    main/ 
    resources/ 
     static/ 
     myStyle.css 
     templates/ 
     index.html 

無論是src/main/resources/static/myStyle.csssrc/main/resources/templates/index.html將作爲/myStyle.css/index.html

如果您使用的是Spring引導,您應該從永遠不要在您的鏈接/引用中包含static/(或templates/)部分。你應該從來沒有直接在瀏覽器中打開HTML頁面,因爲這並不反映任何真實的環境。

爲了使其在本地工作,您應該運行Spring啓動應用程序並通過瀏覽器打開應用程序,而不僅僅是項目本身中的某個HTML文件。

相關問題