標題說的很清楚了,就是要使用public中的圖片
- 那么為什么要把圖片放到public中呢,其實官網上面也說了,要么是需要動態引入非常多的圖片,特別是小圖標,如果放在assert中的話,會被webpack處理,很可能被打成base64混合到app.js里面
這樣就導致這個js文件比較大, - 因為動態引入,肯定是有很多不需要的圖片,這樣就有可能導致浪費,多下載了不需要的圖片,所以就有把圖片放public這么一說。
- 具體做法呢其實參照官方來就很靠譜,具體來貼下我自己的配置
` publicPath: process.env.NODE_ENV === "production" ? "/xxx/xx/xxx/xx/x/" : "/", //說明一下啊,這里的xx/xx/xx/就是你實際部署的路徑,比如,我的部署路徑是www.baidu.com/test/k1/k2/index.html ,那么這里就寫 /test/k1/k2/
assetsDir: "static",
然后,具體使用中就如下
// 比如,xx組件
data() {
return {
publicPath: process.env.BASE_URL
};
},
computed: {
calcUrl() {
let dataState = this.dataStatus,
fruitNum = this.fruitNum;
return this.publicPath + "fruit/red.png";
}
},
`
這樣就好了,做起來呢也不難是吧,之前在public哪里走了彎路,以為只需要寫最后一個文件夾的名字就好,現在想想太傻逼了,哈哈。
好了,到此結束,如果有任何疑問或者錯誤,反應留言反饋!!