You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt-i18n:带语言前缀时如何访问public(static)文件夹资源

解决带语言前缀URL下Public文件夹图片加载问题

问题根源是相对路径解析错误:当URL带语言前缀(比如/en/home)时,浏览器会把src="logo.jpg"解析为/en/logo.jpg,但图片实际存放在根目录的public/文件夹下,自然找不到。默认语言无前缀时,相对路径直接指向根目录,所以正常。

下面是几种可行的解决方法:

方法1:改用绝对路径

直接在src前加斜杠,强制指向根目录的public文件夹:

<img class="w-72" src="/logo.jpg" alt="Logo">

方法2:使用框架资源辅助函数(以Laravel为例)

如果是Laravel这类框架项目,用官方提供的资源辅助函数生成正确的URL,它会自动适配当前环境的根路径:

<img class="w-72" src="{{ asset('logo.jpg') }}" alt="Logo">

方法3:设置base标签统一路径规则

在HTML头部添加<base>标签,指定页面的基础URL,让所有相对路径都基于这个根路径解析:

<head>
    <base href="{{ url('/') }}/">
</head>

设置后所有相对路径都会自动拼接根URL,无需逐个修改图片标签。

内容的提问来源于stack exchange,提问作者imcoding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 12:54:50