最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue項(xiàng)目部署在Spring Boot出現(xiàn)頁面空白問題的解決方案

 更新時(shí)間:2018年11月26日 11:24:10   作者:java_augur  
這篇文章主要介紹了Vue項(xiàng)目部署在Spring Boot出現(xiàn)頁面空白問題的解決方案,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

網(wǎng)上流行的解決方案是將assetsPublicPath: '/'改成'./',下面說一下這個(gè)解決方案的弊端:

通常頁面空白的問題出現(xiàn)大多數(shù)是由于Spring Boot端配置了server.servlet.context-path,上下文改變了css, js等文件的訪問路徑,文件無法加載導(dǎo)致index.html顯示空白。'/'改成'./'是將絕對路徑變?yōu)橄鄬β窂?,可以?dòng)態(tài)適應(yīng)Spring Boot端上下文的改變,這是為什么這個(gè)解決方案起作用的原因。

Vue項(xiàng)目部署在Spring Boot出現(xiàn)的另一個(gè)常見問題是當(dāng)刷新瀏覽器的時(shí)候出現(xiàn)white label, 也就是404錯(cuò)誤,解決的方案基本是把error page配置成為Vue的index.html。

這兩個(gè)解決方案有沖突的地方,當(dāng)router出現(xiàn)子路徑的時(shí)候刷新瀏覽器,error page會(huì)指向Vue的index.html頁面,此時(shí)頁面中訪問css,js文件的路徑是相對路徑,也就是上下文路徑+router子路徑,這將導(dǎo)致css,js再次無法正常加載,這就是相對路徑的弊端。

由于router會(huì)出現(xiàn)子路徑,因此必須保證assetsPublicPath為絕對路徑,下面講一下保持絕對路徑的解決方案:

1 假設(shè)Spring Boot端配置server.servlet.context-path: api, 對應(yīng)Vue的/config/index.js中assetsPublicPath: '/'改成 '/api/'

2 router/index.js中配置base: '/api/', 這是保證瀏覽器刷新時(shí)上下文參數(shù)和router跳轉(zhuǎn)路徑一致。

3 對于Ajax請求需要配置baseURL, 如果使用Axios, 可以采用如下方法在main.js中配置

// http request 攔截器
Axios.interceptors.request.use(
config => {
if (localStorage.getItem('id_token')) {
config.headers.Authorization = localStorage.getItem('id_token')
}
config.baseURL = '/api'
return config
},
err => {
return Promise.reject(err)
})

4 另外需要注意的一點(diǎn),按照Spring Boot默認(rèn)配置, 在Vue端/config/index.js中assetsSubDirectory: 'static'要改變?yōu)槠渌址?,比如?content', 'vue', 'api'等等。

5 試過將assetsSubDirectory配置為空,它和另一個(gè)css圖片加載的方案有沖突,圖片加載解決方案是在/build/util.js中加一行配置

// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader',
publicPath: '../../'
})

結(jié)尾附上Spring Boot端將error page指向Vue的index.html代碼:

import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.web.server.ConfigurableWebServerFactory;
 import org.springframework.boot.web.server.ErrorPage;
 import org.springframework.boot.web.server.WebServerFactoryCustomizer;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.http.HttpStatus;
 @Configuration
 public class ServletConfig {
   private static final Logger logger = LoggerFactory.getLogger(ServletConfig.class);
   @Bean
   public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() {
     logger.info("come to 404 error page");
     return factory -> {
       ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/index.html");
       factory.addErrorPages(error404Page);
     };
  }
 }

總結(jié):

以上所述是小編給大家介紹的Vue項(xiàng)目部署在Spring Boot出現(xiàn)頁面空白問題的解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • vue中自定義指令directive的詳細(xì)指南

    vue中自定義指令directive的詳細(xì)指南

    這篇文章主要給大家介紹了關(guān)于vue中自定義指令directive的相關(guān)資料,自定義指令解決的問題或者說使用場景是對普通 DOM 元素進(jìn)行底層操作,所以我們不能盲目的胡亂的使用自定義指令,需要的朋友可以參考下
    2021-09-09
  • 一文詳解Vue3中的自定義指令的使用

    一文詳解Vue3中的自定義指令的使用

    自定義指令是?Vue.js?中一個(gè)強(qiáng)大的特性,它允許您擴(kuò)展?Vue?的模板語法,本文將詳細(xì)介紹?Vue?3?中的自定義指令,包括如何創(chuàng)建它們以及如何將它們應(yīng)用于您的應(yīng)用程序,需要的可以參考下
    2023-11-11
  • 詳解vue頁面首次加載緩慢原因及解決方案

    詳解vue頁面首次加載緩慢原因及解決方案

    這篇文章主要介紹了詳解vue頁面首次加載緩慢原因及解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 關(guān)于el-scrollbar滾動(dòng)條初始化不顯示的問題及解決

    關(guān)于el-scrollbar滾動(dòng)條初始化不顯示的問題及解決

    這篇文章主要介紹了關(guān)于el-scrollbar滾動(dòng)條初始化不顯示的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 詳解Vue如何支持JSX語法

    詳解Vue如何支持JSX語法

    這篇文章主要介紹了詳解Vue如何支持JSX語法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • Vue elementui字體圖標(biāo)顯示問題解決方案

    Vue elementui字體圖標(biāo)顯示問題解決方案

    這篇文章主要介紹了Vue elementui字體圖標(biāo)顯示問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Vue父子組件方法this.$emit()有時(shí)候不觸發(fā)問題及解決

    Vue父子組件方法this.$emit()有時(shí)候不觸發(fā)問題及解決

    這篇文章主要介紹了Vue父子組件方法this.$emit()有時(shí)候不觸發(fā)問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • vue插件mescroll.js實(shí)現(xiàn)移動(dòng)端上拉加載和下拉刷新

    vue插件mescroll.js實(shí)現(xiàn)移動(dòng)端上拉加載和下拉刷新

    這篇文章主要介紹了vue插件mescroll.js實(shí)現(xiàn)移動(dòng)端上拉加載和下拉刷新,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • Element中el-input密碼輸入框?yàn)g覽器自動(dòng)填充賬號密碼問題的解決方法

    Element中el-input密碼輸入框?yàn)g覽器自動(dòng)填充賬號密碼問題的解決方法

    自己寫了一個(gè)管理系統(tǒng),登錄成功之后,瀏覽器提示我保存賬號密碼,每次登錄時(shí)就會(huì)自動(dòng)回填記住的賬號密碼,方便用戶快速登錄,下面這篇文章主要給大家介紹了關(guān)于Element中el-input密碼輸入框?yàn)g覽器自動(dòng)填充賬號密碼問題的解決方法,需要的朋友可以參考下
    2022-09-09
  • vue通知提醒消息舉例詳解

    vue通知提醒消息舉例詳解

    在項(xiàng)目開發(fā)過程中,可能需要實(shí)現(xiàn)以下場景,未讀消息提示、報(bào)警信息、消息通知等,下面這篇文章主要給大家介紹了關(guān)于vue通知提醒消息的相關(guān)資料,需要的朋友可以參考下
    2023-03-03

最新評論

三河市| 衡水市| 横峰县| 方正县| 永宁县| 前郭尔| 承德县| 永昌县| 通江县| 灌阳县| 松江区| 石屏县| 荥阳市| 红河县| 朔州市| 巨鹿县| 昌吉市| 睢宁县| 尚志市| 高碑店市| 论坛| 桐庐县| 克山县| 昆明市| 信宜市| 平山县| 中牟县| 南木林县| 梅州市| 蓬安县| 司法| 寿宁县| 扎囊县| 怀安县| 大余县| 丹寨县| 新巴尔虎左旗| 晋中市| 琼中| 乐东| 武安市|