我正在使用Next.js中的Image组件(这是Next.js的一个新特性)。
Image
{`${API}/user/photo/${blog.postedBy.username}`}
但是它显示了这个错误。
module.exports = { images: { domains: ['localhost'], }, }
但对我来说都不管用如果你知道些什么请帮忙。
xoefb8l81#
const src = `${API}/user/photo/${blog.postedBy.username}`; <Image loader={() => src} src={src} width={500} height={500}/>
这里,loader是一个为图像生成URL的函数。它将根域附加到您提供的src,并生成多个URL来请求不同大小的图像。这些多个URL用于自动生成srcset,以便访问您的网站的访问者将获得适合其视口大小的图像。
loader
zqdjd7g92#
是的,我终于得到了答案。使加载器函数从图像的目的地加载它。
const myLoader=({src})=>{ return `${API}/user/photo/${blog.postedBy.username}`; }
使用此加载器函数加载图像标记的加载器属性。
<Image loader={myLoader} src={`${API}/user/photo/${blog.postedBy.username}`} width={500} height={500}/>
这对我来说非常有效
wbrvyc0a3#
编辑next.config.js:
module.exports = { reactStrictMode: true, images: { domains: ['example.com'], }, }
jm2pwxwz4#
我遇到了同样的问题,你需要重新启动你的开发服务器,你需要这样做,每次你对你的next.config.js文件进行更改。API字符串应包括端口。例如localhost:3001
next.config.js
localhost:3001
smdncfj35#
首先添加并重新启动dev服务器。
domains: ['localhost']
并确保使用http(s)协议返回图像链接带有localhost:port/...的图像链接错误,返回为http://localhost/...(或带有https)
kninwzqo6#
在next.config.js文件内。添加图像源域名:
const nextConfig = { reactStrictMode: true, images : { domains : ['sangw.in', 'localhost', 'picsum.photos'] // <== Domain name } } module.exports = nextConfig
pobjuy327#
在域数组中添加'localhost'将解决此问题,不幸的是,nextJS在配置文件(next.config.js)更改后没有自动刷新服务器。您必须手动重新启动服务器以反映更改。您也可以尝试通过设置reactStrictMode值reactStrictMode: true,以下是完整的导出对象
'localhost'
(next.config.js)
reactStrictMode: true,
module.exports = { reactStrictMode: true, images: { domains: [ "localhost", process.env.WORDPRESS_API_URL.match(/(http(?:s)?:\/\/)(.*)/)[2], // Valid WP Image domain. "2.gravatar.com", "0.gravatar.com", "secure.gravatar.com", ], }, };
sczxawaw8#
我也遇到过同样的问题,我的域是正确的。删除.next和node_modules文件夹,并运行yarn/npm install修复了这个问题。
.next
node_modules
yarn/npm install
5rgfhyps9#
它有一个非常简单的解决方案,那就是:
module.exports = { images: { domains: ['imagedomain.com'], }, };
将“imagedomain.com”域名添加到图像〉域中。
9条答案
按热度按时间xoefb8l81#
这里,
loader
是一个为图像生成URL的函数。它将根域附加到您提供的src,并生成多个URL来请求不同大小的图像。这些多个URL用于自动生成srcset,以便访问您的网站的访问者将获得适合其视口大小的图像。zqdjd7g92#
是的,我终于得到了答案。使加载器函数从图像的目的地加载它。
使用此加载器函数加载图像标记的加载器属性。
这对我来说非常有效
wbrvyc0a3#
编辑next.config.js:
jm2pwxwz4#
我遇到了同样的问题,你需要重新启动你的开发服务器,你需要这样做,每次你对你的
next.config.js
文件进行更改。API字符串应包括端口。例如
localhost:3001
smdncfj35#
首先添加并重新启动dev服务器。
并确保使用http(s)协议返回图像链接
带有localhost:port/...的图像链接错误,返回为http://localhost/...(或带有https)
kninwzqo6#
在
next.config.js
文件内。添加图像源域名:
pobjuy327#
在域数组中添加
'localhost'
将解决此问题,不幸的是,nextJS在配置文件
(next.config.js)
更改后没有自动刷新服务器。您必须手动重新启动服务器以反映更改。
您也可以尝试通过设置reactStrictMode值
reactStrictMode: true,
以下是完整的导出对象
sczxawaw8#
我也遇到过同样的问题,我的域是正确的。删除
.next
和node_modules
文件夹,并运行yarn/npm install
修复了这个问题。5rgfhyps9#
它有一个非常简单的解决方案,那就是:
将“imagedomain.com”域名添加到图像〉域中。