Nitro dev模式下静态图片路径404,怎么配置才能正确访问? UE丶尚文 提问于 2026-02-17 19:40:25 阅读 15 框架 在Nuxt3项目里用Nitro开发服务器运行时,引用public/image目录下的logo.png一直报404。我直接写和都试过了, 控制台报错显示: GET http://localhost:3000/image/logo.png 404 (Not Found) 生产构建后部署没问题,但开发环境就是访问不到。检查了nuxt.config.ts里的srcDir和publicDir配置都没问题,是不是Nitro的devServer需要特殊设置? 我来解答 赞 3 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 一钧 Dev Lv1 这个问题大概率是路径写法的问题,开发环境和生产环境的静态资源处理确实有点区别。直接说解决方案吧。 在Nuxt3里,public目录下的文件会被自动映射到根路径,所以你不需要加/image/这种前缀。正确的引用方式应该是/logo.png,不管是模板里还是CSS里都这么写。 如果你非要用/image/logo.png这种方式,那就得调整目录结构,把图片挪到public/image/下面,这样路径才能对得上。不过说实话,多一层目录没必要,直接放public下最省事。 另外提醒一下,开发服务器是有缓存的,改完路径记得重启一下devServer,不然可能还是404。我之前就踩过这个坑,改了路径发现没生效,重启一下就好了。 如果这些都试过了还不行,检查下是不是有其他中间件或者代理拦截了请求,虽然这种情况比较少见,但也不是没可能。直接在nuxt.config.ts里加个日志输出验证下: export default defineNuxtConfig({ nitro: { devProxy: { '/image': 'http://localhost:3000' } } }) 这个配置可以帮你确认请求是不是被正确转发了。不过正常情况下前面说的路径调整就够了,我遇到过好几个类似问题,基本都是路径写法导致的。 回复 点赞 2026-02-17 20:02 加载更多 相关推荐
在Nuxt3里,public目录下的文件会被自动映射到根路径,所以你不需要加
/image/这种前缀。正确的引用方式应该是/logo.png,不管是模板里还是CSS里都这么写。如果你非要用
/image/logo.png这种方式,那就得调整目录结构,把图片挪到public/image/下面,这样路径才能对得上。不过说实话,多一层目录没必要,直接放public下最省事。另外提醒一下,开发服务器是有缓存的,改完路径记得重启一下devServer,不然可能还是404。我之前就踩过这个坑,改了路径发现没生效,重启一下就好了。
如果这些都试过了还不行,检查下是不是有其他中间件或者代理拦截了请求,虽然这种情况比较少见,但也不是没可能。直接在nuxt.config.ts里加个日志输出验证下:
这个配置可以帮你确认请求是不是被正确转发了。不过正常情况下前面说的路径调整就够了,我遇到过好几个类似问题,基本都是路径写法导致的。