<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

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

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:03:26
        文檔

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

        Vue項(xiàng)目部署在Spring Boot出現(xiàn)頁(yè)面空白問(wèn)題的解決方案:網(wǎng)上流行的解決方案是將assetsPublicPath: '/'改成'./',下面說(shuō)一下這個(gè)解決方案的弊端: 通常頁(yè)面空白的問(wèn)題出現(xiàn)大多數(shù)是由于Spring Boot端配置了server.servlet.context-path,上下文改變了css, js等文件的訪問(wèn)路徑,文件無(wú)法加載導(dǎo)致index.h
        推薦度:
        導(dǎo)讀Vue項(xiàng)目部署在Spring Boot出現(xiàn)頁(yè)面空白問(wèn)題的解決方案:網(wǎng)上流行的解決方案是將assetsPublicPath: '/'改成'./',下面說(shuō)一下這個(gè)解決方案的弊端: 通常頁(yè)面空白的問(wèn)題出現(xiàn)大多數(shù)是由于Spring Boot端配置了server.servlet.context-path,上下文改變了css, js等文件的訪問(wèn)路徑,文件無(wú)法加載導(dǎo)致index.h

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

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

        Vue項(xiàng)目部署在Spring Boot出現(xiàn)的另一個(gè)常見(jiàn)問(wèn)題是當(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頁(yè)面,此時(shí)頁(yè)面中訪問(wèn)css,js文件的路徑是相對(duì)路徑,也就是上下文路徑+router子路徑,這將導(dǎo)致css,js再次無(wú)法正常加載,這就是相對(duì)路徑的弊端。

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

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

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

        3 對(duì)于Ajax請(qǐng)求需要配置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 試過(guò)將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)頁(yè)面空白問(wèn)題的解決方案,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

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

        Vue項(xiàng)目部署在Spring Boot出現(xiàn)頁(yè)面空白問(wèn)題的解決方案:網(wǎng)上流行的解決方案是將assetsPublicPath: '/'改成'./',下面說(shuō)一下這個(gè)解決方案的弊端: 通常頁(yè)面空白的問(wèn)題出現(xiàn)大多數(shù)是由于Spring Boot端配置了server.servlet.context-path,上下文改變了css, js等文件的訪問(wèn)路徑,文件無(wú)法加載導(dǎo)致index.h
        推薦度:
        標(biāo)簽: VUE 解決 空白
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲人成网站18禁止久久影院 | 亚洲欧洲国产日韩精品| 一区二区三区免费看| 国产99视频精品免费视频7| 亚洲AV永久无码精品网站在线观看| 亚洲乱码国产一区网址| 丁香五月亚洲综合深深爱| 一级毛片试看60分钟免费播放| 亚洲国产精品狼友中文久久久 | 99久久成人国产精品免费| 中国xxxxx高清免费看视频| 四虎永久免费影院| 永久免费精品影视网站| 亚洲国产精品成人久久蜜臀 | 国产成人无码精品久久久免费| 亚洲伊人久久综合影院| 亚洲一级免费视频| 女人18一级毛片免费观看| 亚洲成av人片一区二区三区| 污网站免费在线观看| 在线A亚洲老鸭窝天堂| 7x7x7x免费在线观看| 色偷偷亚洲女人天堂观看欧| 国产美女a做受大片免费| 一区二区免费国产在线观看| 久久被窝电影亚洲爽爽爽| 青娱乐在线视频免费观看| 亚洲欧洲日产国码无码网站| 亚洲一级毛片免费看| 亚洲精品国产精品| 亚洲综合无码精品一区二区三区| 无码人妻丰满熟妇区免费| 亚洲愉拍一区二区三区| 国产h视频在线观看网站免费| 亚洲精品无码日韩国产不卡av| 久久国内免费视频| 亚洲精品黄色视频在线观看免费资源 | 国产免费牲交视频| 在线看片免费人成视频福利| 亚洲人成网站18禁止一区| 无码人妻AV免费一区二区三区 |