部署至Vercel/Netlify后SVG图片无法显示问题求助
解决Vercel/Netlify部署后SVG图片消失的问题
问题出在你使用的路径/src/assets/logo-bookmark-white.svg仅在本地开发环境有效——生产构建完成后,src目录不会被打包进最终部署的静态文件包,所以线上环境根本找不到这个路径下的资源。
给你几个可行的解决办法:
- 调整资源存放目录:把SVG文件移到项目的公共静态目录(比如React、Vue、Vite框架自带的
public文件夹),然后将img标签的src改为/assets/logo-bookmark-white.svg。公共目录里的文件会被直接复制到构建输出的根目录,线上环境能正常访问。 - 通过打包工具引入SVG:用import方式导入SVG资源,让打包工具自动处理路径,比如在React项目中:
这种方式下,打包工具会在构建时生成生产环境可用的正确资源地址。import BookmarkLogo from './assets/logo-bookmark-white.svg'; // 组件内使用 <img src={BookmarkLogo} alt="Bookmark Logo" /> - 检查构建配置:确认你的打包工具(Webpack/Vite等)配置了正确的资源处理规则,比如Webpack可使用asset modules,Vite默认支持SVG资源处理,无需额外配置。
内容的提问来源于stack exchange,提问作者Barbaros Teoman Kosoglu
相关产品推荐
相关产品推荐

