Vue項(xiàng)目build后,圖片加載不出來的解決
Vue項(xiàng)目build圖片加載不出來
vue項(xiàng)目,build之后會對圖片進(jìn)行處理,具體處理的方式是在文件webpack.base.conf.js中,有如下代碼:
module: { ? ? rules: [ ? ? ?{ ? ? ? ? test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, ? ? ? ? loader: 'url-loader', ? ? ? ? options: { ? ? ? ? ? limit: 10000, // 1k-----限制文件的大小 ? ? ? ? ? name: utils.assetsPath('img/[name].[hash:7].[ext]') ? ? ? ? } ? ? ?} ? ? ] }
以上代碼中,使用url-loader對圖片的大小進(jìn)行限制,在limit之內(nèi),webpack會將圖片轉(zhuǎn)化為base64,超出limit限制,交給file-loader處理。
如果在limit范圍之內(nèi),不會出現(xiàn)圖片加載不出來的情況;
超出limit,webpack會將處理后的圖片放在dist/static/img/中,此時(shí)加載圖片將會顯示不出來。具體做法如下:
1.在config/index.js文件內(nèi)
修改代碼: (列出index.js的部分代碼)
build: { ? ? // Template for index.html ? ? index: path.resolve(__dirname, '../dist/index.html'), ? ? ? // Paths ? ? assetsRoot: path.resolve(__dirname, '../dist'), ? ? assetsSubDirectory: 'static', ? ? assetsPublicPath: './',? }
assetsPublicPath字段值由之前的'/'改為'./';
2.在webpack.prod.conf.js文件內(nèi)
output字段,添加代碼(publicPath: './'):
output: { ? ? publicPath: './', // 添加的代碼 ? ? path: config.build.assetsRoot, ? ? filename: utils.assetsPath('js/[name].[chunkhash].js'), ? ? chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') ? },
3.在utils.js文件里添加 publicPath:'../../'
代碼如下:
// (which is the case during production build) if (options.extract) { ? return ExtractTextPlugin.extract({ ? ? use: loaders, ? ? fallback: 'vue-style-loader', ? ? publicPath: '../../' ?// 添加的代碼 ? }) } else { ? return ['vue-style-loader'].concat(loaders) }
以上步驟操作完后,執(zhí)行命令:npm run build
在build后,dist中的index.html頁面的link、script標(biāo)簽的引入路徑變?yōu)橄鄬β窂?;同時(shí),相關(guān)的圖片路徑,也變變?yōu)橄鄬β窂剑藭r(shí)部署項(xiàng)目,不再出現(xiàn)圖片路徑404。
Vue項(xiàng)目打包后部分圖片不顯示
1.圖片的后綴名不能含ad字母敏感詞(即谷歌會認(rèn)為是廣告,并自動刪除)
2.圖片本身(質(zhì)量)的原因,跟前端無關(guān),需讓UI給新的設(shè)計(jì)圖片。--備注:QQ直接截圖到本地的圖片打包后可能也不顯示,需跟UI要原始設(shè)計(jì)圖。
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于element-ui?select?下拉框位置錯亂問題解決
這篇文章主要介紹了關(guān)于element-ui?select?下拉框位置錯亂問題解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09Vue導(dǎo)入Echarts實(shí)現(xiàn)折線散點(diǎn)圖
這篇文章主要為大家詳細(xì)介紹了Vue導(dǎo)入Echarts實(shí)現(xiàn)折線散點(diǎn)圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10express+vue+mongodb+session 實(shí)現(xiàn)注冊登錄功能
這篇文章主要介紹了express+vue+mongodb+session 實(shí)現(xiàn)注冊登錄,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12關(guān)于el-col的使用,占據(jù)寬度的應(yīng)用解析
這篇文章主要介紹了關(guān)于el-col的使用,占據(jù)寬度的應(yīng)用解析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05vue 中 elment-ui table合并上下兩行相同數(shù)據(jù)單元格
這篇文章主要介紹了vue 中 elment-ui table合并上下兩行相同數(shù)據(jù)單元格,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12Vue?echarts實(shí)例項(xiàng)目地區(qū)銷量趨勢堆疊折線圖實(shí)現(xiàn)詳解
Echarts,它是一個與框架無關(guān)的 JS 圖表庫,但是它基于Js,這樣很多框架都能使用它,例如Vue,估計(jì)IONIC也能用,因?yàn)槲业牧?xí)慣,每次新嘗試做一個功能的時(shí)候,總要新創(chuàng)建個小項(xiàng)目,做做Demo2022-09-09