问题:
react本地启动项目,大图片转不了base64,控制台报错404,重命名图片后可以访问到图片。过一段时间重新启动项目依然404。
解决:将图片从src->assets目录移到public目录下,即可解决。
另一个问题:
将图片放到public目录下后,打包上传到服务器后发现图片404。
解决:
1. 首先,查看服务器上页面图片访问的路径是http:ip:端口号/images/xx.png,而实际服务器根目录没有images这个文件夹;
2. 其次,查看源代码中图片的引入用的是url('/images/xx.png'),其实/已经代表了public路径,但是打包后丢失
3. 最后,将引入路径改为('../../../public/images/xx.png'),打包部署后图片可以正常显示。
4. 以上步骤如果还是不行,在config.js文件中增加umijs配置项:inlineLimit: 1000 * 100, 将小于100kb的图片都编译为 base64 编码,可以根据图片实际大小设置该配置项。