【问题标题】:Next.js: You may need an appropriate loader to handle this file type, currently no loaders are configured to process this fileNext.js:你可能需要一个合适的加载器来处理这个文件类型,目前没有配置加载器来处理这个文件
【发布时间】:2021-09-01 17:57:55
【问题描述】:

在我的 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.js 中添加自定义 webpack 配置。而且,不需要手动配置 webpack。只需升级到 Next.js v11 或更高版本。您无需任何额外配置即可执行此操作。
  • 非常感谢。我只是通过使用这个库来解决这个错误next-images

标签: javascript reactjs webpack next.js urlloader


【解决方案1】:

我只是通过使用这个包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>

【讨论】:

  • 别忘了重启开发服务器
猜你喜欢
  • 1970-01-01
  • 2021-08-26
  • 2020-01-10
  • 2021-08-03
  • 2021-12-07
  • 2016-09-28
  • 2016-07-13
  • 2018-02-03
  • 2019-08-15
相关资源
最近更新 更多