vue 動(dòng)態(tài)設(shè)置img的src地址無效,npm run build 后找不到文件的解決
動(dòng)態(tài)設(shè)置img的src屬性無效,而直接寫可以

解決辦法:
imgSrc寫成require('path');

原因:
動(dòng)態(tài)添加src被當(dāng)做靜態(tài)資源處理了,沒有進(jìn)行編譯

npm run build 后出現(xiàn) xxxxxxx net::ERR_FILE_NOT_FOUND
解決辦法:
進(jìn)入:build文件夾 > 打開 webpack.prod.conf.js
找到:output 對(duì)象
添加:publicPath:‘./'
具體寫法:
publicPath: process.env.NODE_ENV === 'production' ? './' +config.build.assetsPublicPath : './' + config.dev.assetsPublicPath

補(bǔ)充知識(shí):解決:vue項(xiàng)目npm run build 打包后 :src路徑里面的本地圖片找不到
問題描述及錯(cuò)誤代碼:
// 本地運(yùn)行、打包 圖片是ok的 <img src="../../static/images/orderSeeProgress0.png"> // 本地運(yùn)行 圖片是ok的、打包圖片找不到 (因?yàn)閳D片的路徑被解析成了字符串) <img src="/static/images/orderSeeProgress1.png"> // 本地運(yùn)行 圖片是ok的、打包圖片找不到 (因?yàn)閳D片的路徑被解析成了字符串) <img :src="'../../static/images/orderSeeProgress'+index+'.png'">
解決辦法:
(1)如果使用的是靜態(tài)圖片,切路徑地址不會(huì)改變,那就直接使用 src 如下方法:(相對(duì)路徑的)
// 本地運(yùn)行、打包 圖片是ok的
<img src="../../static/images/orderSeeProgress0.png">
(2)如果圖片是根據(jù)數(shù)據(jù)動(dòng)態(tài)變化的,那么就得使用 :src ( 動(dòng)態(tài)改變src的值)
(2-1)首先在配置文件里面給static文件起個(gè)別名:(我起得別名是@@)
build / webpack.base.conf.js 配置別名如下:
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
'@@': resolve('static'),
}
},
(2-2)引入圖片地址,然后在data里面定義,在 :src里面使用。
// 這樣使用: 本地、打包后 圖片都是ok的。
<img :src="orderPro1Img" />
<img :src="orderPro2Img" />
<script>
import orderPro1 from '@@/images/orderSeeProgress0.png'
import orderPro2 from '@@/images/orderSeeProgress1.png'
export default {
data() {
return {
msg: '',
index:0,
orderPro1Img:orderPro1,
orderPro2Img:orderPro2
}
},
}
</script>
以上這篇vue 動(dòng)態(tài)設(shè)置img的src地址無效,npm run build 后找不到文件的解決就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Vue3中處理異步API調(diào)用并更新表單數(shù)據(jù)的方法示例
前端設(shè)置cookie之vue-cookies使用及說明
vue中利用Promise封裝jsonp并調(diào)取數(shù)據(jù)
vue中關(guān)于template報(bào)錯(cuò)等問題的解決

