乐趣区

一文解决-Vue打包后访问图片图标不显示的问题

大家可否遇到过 npm run build 打包后,项目在线上运行时,资源文件 (图片、图标) 不显示 的问题,
接下来,我给大家分享一下我的解决方案~

1. 检查打包后 dist 中的 css 文件

打开此文件后你会头晕,因为都是打包压缩过的 css 代码,不过没关系 ,关键字搜索 url

检查该 url 路径是否匹配正确
对比后惊人发现!!!

因此在 url 路径前添加../../ 就 OK 了,但是 很麻烦,每次打包后都要进行二次加工吗?
并不是!!!

2. 自动添加 ../../ 的方法
打开 build/utils.js,检测 publicPath 值是否正确,自己配置成相应的即可!

 if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader',
        publicPath: '../../'
      })
    } else {return ['vue-style-loader'].concat(loaders)
    }

配置好之后,npm run build 打包后就会自动匹配正确的路径,无需手动修改,
最终解决项目打包后 图片 / 图标 / 字体 不显示的问题~

欢迎大家以后一起交流与学习~
这是我的个人微信

退出移动版