大家可否遇到过 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 打包后就会自动匹配正确的路径,无需手动修改,
最终解决项目打包后 图片 / 图标 / 字体 不显示的问题~
欢迎大家以后一起交流与学习~
这是我的个人微信