Javascript 使用react导入图像时发生生成错误

Javascript 使用react导入图像时发生生成错误,javascript,reactjs,webpack,webpack-4,Javascript,Reactjs,Webpack,Webpack 4,我导入的图像如下所示: import StepIcon from '../../public/images/icon_step.png' 它的工作没有问题,但当我运行构建时,我得到下面的错误,我想我必须修复网页设置,但我不知道。我怎样才能解决这个问题 错误 error in ./public/images/icon_step.png Module build failed (from ./node_modules/file-loader/dist/cjs.js): TypeError [

我导入的图像如下所示:

import StepIcon from '../../public/images/icon_step.png'
它的工作没有问题,但当我运行构建时,我得到下面的错误,我想我必须修复网页设置,但我不知道。我怎样才能解决这个问题

错误

 error  in ./public/images/icon_step.png

Module build failed (from ./node_modules/file-loader/dist/cjs.js):
TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be one of type string, Buffer, TypedArray, or DataView. Received type function
    at Hash.update (internal/crypto/hash.js:64:11)
    at getHashDigest (/mnt/c/Users/wbvco/Desktop/Project Baby/styled-react-boilerplate/node_modules/loader-utils/lib/getHashDigest.js:48:8)
    at url.replace (/mnt/c/Users/wbvco/Desktop/Project Baby/styled-react-boilerplate/node_modules/loader-utils/lib/interpolateName.js:96:11)
    at String.replace (<anonymous>)
    at Object.interpolateName (/mnt/c/Users/wbvco/Desktop/Project Baby/styled-react-boilerplate/node_modules/loader-utils/lib/interpolateName.js:93:8)
    at Object.loader (/mnt/c/Users/wbvco/Desktop/Project Baby/styled-react-boilerplate/node_modules/file-loader/dist/index.js:27:36)

 @ ./src/components/signupstep.js 35:0-57 511:11-19
 @ ./src/pages/signup.js 
 @ ./src/app.js
 @ ./src/index.js
 @ multi react-hot-loader/patch ./src/index.js

我认为这是由于图像相对路径的问题,你能试试下面的方法吗

  • 您应该遵循的简单方法,有关更多信息,请参阅

  • 使用网页包

  • 请更新网页,如下图所示

    module: {
      rules: [
        {
          test: /\.(jpe?g|gif|png|svg)$/i,
          use: [
            {
              loader: 'url-loader',
              options: {
                limit: 10000
              }
            }
          ]
        }
      ],
    },
    
    然后,您可以从公用文件夹将图像导入到react组件

    import image from '../../public/assets/images/logo.png'
    
    <img src={image}/>
    
    最后

    <img src={require('./PATH_TO_IMAGE/IMAGE.png')}/>
    
    
    
    module: {
        loaders: [
          { test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192' }
        ]
    } 
    
    <img src={require('./PATH_TO_IMAGE/IMAGE.png')}/>