vue使用webpack4.0+ 打包后,部分背景图片不显示的问题

如题

	webpack版本4.0+,由于extract-text-webpack-plugin已经被此版本抛弃,所以使用mini-css-extract-plugin,其实这个问题跟使用哪个plugin也没多大关系,但是网上很多使用extract-text-webpack-plugin的解决方案,并不能解决当前的问题,故此处提一下,此解决方案适用于mini-css-extract-plugin下。

问题描述

	本地dev运行背景图片显示没有问题,打包发布后,使用css方式加载未在static目录下的的背景图片无法显示,如图:

vue使用webpack4.0+ 打包后,部分背景图片不显示的问题
PS:如果是调用static/* 下的图片则不会有此问题。

解决

	如下图所示,修改webpack.base.conf.js文件下的图片相关配置,增加“publicPath”即可,具体需要根据自己引用图片的路径来配置。

vue使用webpack4.0+ 打包后,部分背景图片不显示的问题
PS:注释里有解释,请自行查看。。。另外图片这些还是放到static里比较好,特别是gis地图里如果使用openlayers进行点要素的符号化时,路径设置需要特别注意,放一张效果图如下
vue使用webpack4.0+ 打包后,部分背景图片不显示的问题
示例代码:

 let icons={//图标集合
      runV: mapconfig.getPointStyle('./static/img/runVehicle.png', undefined),
        stopV: mapconfig.getPointStyle('./static/img/stopVehicle.png', undefined)
    }