Next.js Monorepo中静态图片无法加载,提示「请求的资源不是有效图片」的问题求助
Next.js Monorepo中静态图片无法加载,提示「请求的资源不是有效图片」的问题求助
大家好,我现在碰到了一个Next.js单仓(monorepo)场景下静态图片无法解析的问题,想请大家帮忙分析下原因。
我的项目是基于Shadcn UI的Next.js monorepo结构,用来在多个项目间共享组件,具体的文件夹结构如下:
. ├── apps │ └── web │ ├── components │ ├── node_modules │ ├── pages │ └── styles ├── node_modules └── packages ├── eslint-config └── typescript-config
我尝试过两种public文件夹的放置方式:一种是放在整个仓库的根目录,另一种是放在apps/web/目录下。引用图片时,我试过两种路径写法:/public/<file_path>.png,以及直接写/<file_path>.png,比如代码里是这么用的:
<Image src={`/static/haroombe_logo.png`} alt='logo' width="64" height="64" />
但不管哪种方式,都会抛出类似这样的错误:
The requested resource isn't a valid image for / received text/html; charset=utf-8
图片大小不到200KB,所以我怀疑是不是配置或者别名没设置对导致的问题。
更新/临时解决方法:我后来手动导入了图片,然后把导入的变量放到src标签里,这样就可以正常加载了,也就是按照Next.js本地图片的官方用法来操作的。
备注:内容来源于stack exchange,提问作者MoHaKh
相关产品推荐
相关产品推荐

