1. 在vue項目的目錄下,用npm run build 生成dist目錄,將目錄下的static和index.html復制到SpringBoot項目下的resource目錄下
這個時候發現啟動Springboot項目,不能打開index頁面
比如: http://localhost:8087/index.html
起初百度之后一位是相對路徑和絕對路徑不正確的問題,就修改了Vue中confid下的index.js,將'/' 修改為帶有點'./'的路徑
后來發現還是不行吶,於是各種辦法想着解決
加了一個默認的路徑,訪問/ 或者訪問 /index 讓其跳轉到 index.html
於是想到要用模版引擎, 就加了thymeleaf,寫了一個controller方法,只要訪問根目錄就自動跳轉到index.html【此為解決方案1,以后上代碼】
難道所有的項目都要這樣去做?
仔細研究后發現,網上的教程都是將vue生成的文件,復制到SpringBoot項目下的resource目錄下的新建目錄static下,於是依葫蘆畫瓢,也就是說需要新建一個路徑static,在static目錄下放置index.html和static目錄
媽呀,換了個目錄,就可以成功訪問了~~
難道所有的項目都要這樣去做?為啥非得是static目錄,我就不能指定一個目錄嗎?
當然可以了,在配置文件application.properies中添加如下代碼即可
spring.resources.static-locations=classpath:/testFo
現在來講講為什么默認的非得是static呢?
因為Springboot默認的靜態資源目錄
classpath:/static
classpath:/public
classpath:/resources
classpath:/META-INF/resources
難道沒有別的方式了嗎?
有,既然是靜態資源,能不能直接放在nginx上呢。可以的【之后再講】
2. 部署好了,能訪問頁面了,本機啥都是好的,其他機器通過ip和端口訪問,媽呀,只有頁面,數據呢
Solution:
這個我不得不在我所有的接口前面加個api路徑~也就是在配置文件中添加了一個默認訪問的前綴~暫時還沒有找到更好的辦法