prod环境publicPath为相对路径时,css中引用的url路径错误

重现

// 使用脚手架生成项目
vue init webpack

更改config/index.js配置文件build.assetsPublicPath为'./'
在App.vue的<style>中加一个background: url('./asssets/images/xxx.png')之类相对路径引用的样式

此时进行打包命令

npm run build

你会发现提取出来的cssurl()中图片的路径是static/img/xxx.png 这样的,用浏览器打开index.html将会有xxxxxxx/static/css/static/img/xxx.png这个图片404的报错

解决方案

主要是需要单独为css 配置 publicPath,更改build/utils.js文件中 ExtractTextPlugin 插件的options配置:

    if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        publicPath: '../../',         // 注意配置这一部分,根据目录结构自由调整
        fallback: 'vue-style-loader'
      })
    } else {
      return ['vue-style-loader'].concat(loaders)
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文http://www.cnblogs.com/libin-1/p/6596810.html 版本号 vue-c...
    tengrl阅读 9,148评论 0 0
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 14,341评论 7 110
  • 本书介绍 你是不是对Django的学习感到迷茫?是不是对网上零星的教程感到绝望?是不是苦于没有可以迅速上手的实例而...
    阡陌3536阅读 5,129评论 0 0
  • 今天的培训继续深入学习了解WM的使用,包括产品规格组的内容以及组件、五金的使用。 在产品规格组中介绍了全局变量以及...
    廖涛阅读 1,427评论 0 0
  • 细雨绵绵,寒风凛冽,今夜的古城西安有这这别样的气氛,此时此刻古城西安众多媒体精英欢聚一堂共庆【爱上西安,为爱下厨】...
    醇觚散人阅读 2,635评论 0 0

友情链接更多精彩内容