next.config.js配置basePath后如何设置正确的SVG引用路径
路径错误原因
加载失败的核心问题是路径中冗余了/public层级:Next.js默认将public目录作为静态资源的根映射目录,该目录下的所有文件对外提供访问时,路径不会携带/public段,配置basePath不会改变这个基础映射规则。
正确SVG引用路径
配置basePath: '/exmplpath'后,该SVG可直接访问的完整路径为:/exmplpath/assets/images/media/example.svg
日常引用建议
- 代码中优先使用
next/image组件引用静态资源,组件会自动读取next.config.js中的basePath配置完成路径拼接,直接写/assets/images/media/example.svg作为src即可,后续修改basePath时不需要逐个调整资源路径。 - 如果是在CSS文件、原生
<img>标签中硬编码路径,需要手动拼接basePath前缀,注意不要额外添加/public段。 - 修改next.config.js配置后需要重启本地开发服务,否则配置不生效也会导致资源加载失败。
内容的提问来源于stack exchange,提问作者ATeV1L_ _
相关产品推荐
相关产品推荐

