使用vue打包,通過css引用圖片資源。
.img {
height: 500px;
width: 100%;
background: url("./assets/img/1.jpg") no-repeat;
background-size: 100%;
}
熱更新開發環境的效果是這樣
但打完包出來的頁面卻報找不到資源的錯誤。
查了一下原因,css引入圖片再打包後,style-loader無法設置自己的publicPath,於是我改變了ExtractTextPlugin的css路徑publicPath。
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
// css 引用圖片打包問題
publicPath: '../../../',
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
在build一次,沒有報錯,正常顯示!