Webpack反应。配置一个带图片的文件夹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Webpack反应。配置一个带图片的文件夹相关的知识,希望对你有一定的参考价值。

请帮助配置file-loader,以便在一个项目中使用 这样的结构

我可以用类似的方式从公共文件夹中获取图片。

<img src={"/images/globalx_logo.svg"} className="globalx-logo"/>

在尝试做一些事情时,我写了这个webpack.config.js:

var path = require('path')

module.exports = {
   entry: "./src/index.js",
   output: {
      path: path.resolve(__dirname, './output'),
      publicPath: '/output/',
      filename: 'bundle.js'
   },
   devServer: {
      historyApiFallback: true,
   },
   module: {
      rules: [
         {
            test: /\.m?js$/,
            exclude: /(node_modules|bower_components)/,
            loader: "babel-loader",
            options: {
               presets: ["@babel/preset-env", "@babel/preset-react"]
            }
         },
         {
            test: /\.s[ac]ss$/i,
            use: [
               'style-loader',
               'css-loader',
               'sass-loader'
            ]
         },
         {
            test: /\.(jpg|png|gif|svg)$/,
            loader: 'file-loader',
            options: {
                name: '[name].[ext]',
                publicPath: './public/',
                outputPath: './output/public/'
            }
         }
      ]
   }
}
答案

你可以使用这样的加载器

 {
        test: /\.(jpg|png|gif|svg)$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              limit: 1000000,
              fallback: 'file-loader',
              name: 'images/[name].[hash].[ext]',
            }
          }
        ]
      }

并使用导入

import logo from '/images/globalx_logo.svg'

 <img src={logo} className="globalx-logo"/>

以上是关于Webpack反应。配置一个带图片的文件夹的主要内容,如果未能解决你的问题,请参考以下文章

WebPack的配置(起步)

如何在故事书中配置 webpack 以允许 babel 在项目文件夹之外导入反应组件

使用 Webpack 提供静态图像

如何实现 SASS 以与原始 webpack 做出反应?

如何使用反应路由器 dom v4 配置 webpack 开发服务器?

Webpack构建多页应用Mpa:提取公共jscsshtml代码,实现图片字体单独打包,拆分多环境配置文件