Vue項(xiàng)目build后,圖片加載不出來的解決
Vue項(xiàng)目build圖片加載不出來
vue項(xiàng)目,build之后會(huì)對圖片進(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會(huì)將圖片轉(zhuǎn)化為base64,超出limit限制,交給file-loader處理。
如果在limit范圍之內(nèi),不會(huì)出現(xiàn)圖片加載不出來的情況;
超出limit,webpack會(huì)將處理后的圖片放在dist/static/img/中,此時(shí)加載圖片將會(huì)顯示不出來。具體做法如下:
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)橄鄬β窂?,此時(shí)部署項(xiàng)目,不再出現(xiàn)圖片路徑404。
Vue項(xiàng)目打包后部分圖片不顯示
1.圖片的后綴名不能含ad字母敏感詞(即谷歌會(huì)認(rèn)為是廣告,并自動(dòng)刪除)
2.圖片本身(質(zhì)量)的原因,跟前端無關(guān),需讓UI給新的設(shè)計(jì)圖片。--備注:QQ直接截圖到本地的圖片打包后可能也不顯示,需跟UI要原始設(shè)計(jì)圖。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于element-ui?select?下拉框位置錯(cuò)亂問題解決
這篇文章主要介紹了關(guān)于element-ui?select?下拉框位置錯(cuò)亂問題解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
Vue導(dǎo)入Echarts實(shí)現(xiàn)折線散點(diǎn)圖
這篇文章主要為大家詳細(xì)介紹了Vue導(dǎo)入Echarts實(shí)現(xiàn)折線散點(diǎn)圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
express+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à)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
vue 中 elment-ui table合并上下兩行相同數(shù)據(jù)單元格
這篇文章主要介紹了vue 中 elment-ui table合并上下兩行相同數(shù)據(jù)單元格,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
Vue?echarts實(shí)例項(xiàng)目地區(qū)銷量趨勢堆疊折線圖實(shí)現(xiàn)詳解
Echarts,它是一個(gè)與框架無關(guān)的 JS 圖表庫,但是它基于Js,這樣很多框架都能使用它,例如Vue,估計(jì)IONIC也能用,因?yàn)槲业牧?xí)慣,每次新嘗試做一個(gè)功能的時(shí)候,總要新創(chuàng)建個(gè)小項(xiàng)目,做做Demo2022-09-09

