(React + Webpack) 在 Dev 中加载图像,但不在 Production 中加载(file-loader + image-webpack-loader)

(React + Webpack) Images Loading in Dev, but not Production (file-loader + image-webpack-loader)

在开发中一切都很好,但是当我尝试为生产构建时,图像没有显示在页面上。它们确实出现在适当的文件夹中(即我的生产文件夹有一个包含图像的图像子文件夹)。当我在浏览器中查看文件夹 (Sources) 时,图像文件夹不存在。尽管 webpack 正在正确构建它,但由于某种原因,反应构建似乎不知道该文件夹。我猜这是一个反应问题而不是 webpack 问题,但我对这两个问题都是陌生的。我找到的所有资源似乎都表明我所拥有的应该有用,但我觉得我错过了什么。

webpack.config.js:

rules: [
      ...
      {
        test: /\.(jpe?g|png|gif|svg)$/i,
        use: [
          'file-loader?name=[name].[ext]&publicPath=/&outputPath=images/',
          'image-webpack-loader'
        ]
      },
    ]

正在使用:

<img src={ require( './images/shopping-cart.png' ) } alt="shopping cart" />

编辑:我现在显示了图像文件夹,其中包含图像(表面上),但是图像完全损坏了。即使只是在浏览器中从文件夹中检查它也不起作用。

所以答案似乎只是将“/”更改为“./”,将 'images/' 更改为“./images/”。我是通过实验得出这个结论的。希望答案能帮助其他人。

rules: [
          ...
          {
            test: /\.(jpe?g|png|gif|svg)$/i,
            use: [
              'file-loader?name=[name].[ext]&publicPath=./&outputPath=./images/',
              'image-webpack-loader'
            ]
          },
        ]