使用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一次,没有报错,正常显示!


Logo

前往低代码交流专区

更多推荐