【发布时间】:2021-08-11 17:25:40
【问题描述】:
我正在尝试使用下一个图像加载图像: 当我输入图像名称时,它工作正常:
//Working
<Image src={require(`../../images/exampleImage.jpg` )}/>
但我不希望我想要这样的动态网址:
//Not working
<img src={require(`../../images/${image}.jpg` )}/>
我得到这个错误:
错误:模块解析失败:意外字符 '�' (1:0) 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。见https://webpack.js.org/concepts#loaders (此二进制文件的源代码省略)
我的 next.config.js 文件:
const withImages = require("next-images");
module.exports = withImages();
我也试过这个配置:
module.exports = {
webpack: (config, options) => {
config.module.rules.push(
{
test: /\.(jpe?g|png|gif|woff|woff2|eot|ttf|svg)(\?[a-z0-9=.]+)?$/,
loader: 'url-loader?limit=100000'
}
)
return config
},
}
尝试了很多方法,但似乎都不起作用,请帮忙,谢谢
【问题讨论】:
-
我不确定是否有动态导入路径。根据图像的数量,我会正常导入它们。如果数量很大,那么最好根本不导入并将它们作为静态文件提供,这样您就可以构建动态路径。
-
@EyalC 我不能这样做,因为我在我的网站中实现了图像上传功能,用户可以上传图像并将它们存储在 ./images 上,所以我需要一个动态导入路径
-
您是否将上传的图片存储在应用程序的
public文件夹下?在运行时添加到public文件夹的文件将不可用; Next.js 只会提供构建时存在的资产。请尝试使用第三方服务来存储您的图像。
标签: javascript reactjs webpack next.js next-images