vue打包項(xiàng)目顯示空白,圖片不顯示

開發(fā)環(huán)境中頁面正常顯示,打包后放到tomcat服務(wù)器上頁面空白,頁面內(nèi)容不顯示。F12狀態(tài)下看到css和js文件路徑不對。針對打包爬坑特地整理了一下

1、配置項(xiàng)目引用文件問相對路徑;
2、引用js文件路徑錯(cuò)誤;
3、圖片路徑錯(cuò)誤;
4、背景圖片路徑錯(cuò)誤;
5、引用圖標(biāo)不顯示;
6、router-view中的內(nèi)容顯示不出來;

解決以上問題,需修改的地方:

1、config/index.js

build: {
    assetsPublicPath: './' // 修改為相對路徑
}

2、build/utils.js

if(options.extract){
    return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader',
        publicPath: '../../' // 此處解決css中背景圖片路徑報(bào)錯(cuò),作用是設(shè)置打包過程中提取css的方法
    })
}

3、build/webpack.prod.conf.js

output: {
    publicPath: './', // 添加這一行配置
}

4、build/webpack.base.conf.js

{
    test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
    loader: 'url-loader',
    options: {
      limit: 100000, //字體圖標(biāo)失效,將限制改大,大于字體文件大小
      name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
    }
},

5、問題原因:
在沒有后端配合的情況下就打開路由history模式的時(shí)候(vue-router默認(rèn)hash模式——使用URL的hash來模擬一個(gè)完整的URL,于是當(dāng)URL改變時(shí),頁面不會(huì)重新加載),打包出來的文件也會(huì)是一片空白的情況,這里并不是說不能打開這個(gè)模式,這個(gè)模式需要后端設(shè)置的配合,詳情可以參考vue-router文檔

const router = new VueRouter({
  mode: 'history',//注釋掉這行代碼
  routes: [...]
})

修改保存后重新打包項(xiàng)目放到tomcat就可以正常查看了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 寫在開頭 先說說為什么要寫這篇文章, 最初的原因是組里的小朋友們看了webpack文檔后, 表情都是這樣的: (摘...
    Lefter閱讀 5,442評(píng)論 4 31
  • 在現(xiàn)在的前端開發(fā)中,前后端分離、模塊化開發(fā)、版本控制、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,659評(píng)論 1 32
  • 目錄第1章 webpack簡介 11.1 webpack是什么? 11.2 官網(wǎng)地址 21.3 為什么使用 web...
    lemonzoey閱讀 1,828評(píng)論 0 1
  • 1. 新建一個(gè)文件夾,命名為 webpack-cli , webpack-cli 就是你的項(xiàng)目名,項(xiàng)目名建議使用小...
    魯大師666閱讀 1,649評(píng)論 1 3
  • 假裝熟悉,假裝有趣,假裝熱絡(luò),卻透支光了所有的熱情。外在的合群其實(shí)是沒有任何意義的。那些觥籌交錯(cuò),那些三五成群,那...
    ShAbbbyTY閱讀 338評(píng)論 0 0

友情鏈接更多精彩內(nèi)容