Next.js:你可能需要一个合适的加载器来处理这个文件类型,目前没有配置加载器来处理这个文件

问题描述

在 Next.js 应用程序中从本地目录加载图像时出现以下错误

编译失败 ./pages/components/image.png 1:0 模块解析失败:意外字符 '�' (1:0) 您可能需要一个合适的加载器来处理此文件类型,目前没有配置加载器来处理此文件。见https://webpack.js.org/concepts#loaders (此二进制文件省略了源代码)

我安装了这个加载程序

$ npm install file-loader --save-dev

我的 webpack.config.js

module.exports = {
module: {
  rules: [
    {
      test: /\.(png|jpe?g|gif)$/i,use: [
        {
          loader: 'file-loader',},],

};

我的 next.js 代码

import homeBG from './image.png'
<Image src={homeBG} alt="Picture of the author" />

解决方法

我只是通过使用这个包来解决这个错误 next-images

npm install --save next-images

yarn add next-images

在你的项目中创建一个 next.config.js

// next.config.js
const withImages = require('next-images')
module.exports = withImages()

并且在您的组件或页面中只需导入您的图像:

import img from './my-image.jpg'

export default () => <div>
  <img src={img} />
</div>

export default () => <div>
  <img src={require('./my-image.jpg')} />
</div>

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...