我正在做一个React w/Webpack设置,正在努力完成看似简单的任务.我希望网页包包含图片,并尽量减少它们,就像我gulp 一样,但我想不出来.我只想在css中链接一个图像,如下所示:

/* ./src/img/background.jpg */

body { background: url('./img/background.jpg'); }

我所有的css/js/img文件夹都在一个src文件夹中.Webpack输出到dist文件夹,但我不知道如何在那里获取图像.

以下是我的网页设置:

 var path = require('path');
 var webpack = require('webpack');
 var HtmlWebpackPlugin = require('html-webpack-plugin');

 module.exports = {
  devtool: 'cheap-eval-source-map',
  entry: [
   'webpack-dev-server/client?http://localhost:8080',
   'webpack/hot/dev-server',
   './src/index.js'
  ],
  output: {
  path: path.join(__dirname, 'dist'),
  //  publicPath: './dist',
  filename: 'bundle.js'
  },
  plugins: [
  new webpack.HotModuleReplacementPlugin(),
  new HtmlWebpackPlugin({
  template: './src/index.html'
   })
  ],
  module: {
  loaders: [{
   exclude: /node_modules/,
   test: /\.js?$/,
   loader: 'babel'
   }, {
  test: /\.scss$/,
  loader: 'style!css!sass'
    }, {
  test: /\.(png|jpg)$/,
  loader: 'file-loader'
  }]
 },

 devServer: {
  historyApiFallback: true,
  contentBase: './dist',
  hot: true
  }
};

推荐答案

我在你的CSS "url()"中发现的任何类似问题都可以用它来解决.

要安装它,请执行以下操作:

npm install url-loader --save-dev

它将安装能够将解析路径转换为BASE64字符串的加载程序.

在网页包配置文件中,在加载程序中使用url加载程序

{
  test: /\.(png|jpg)$/,
  loader: 'url-loader'
}

还要确保正确指定了公共路径和要加载的图像路径.

Reactjs相关问答推荐

Inbox Enum类型以React组件状态时出现TypScript错误

根据另一个Select中的选定值更改Select中的值

有没有办法在Shopify中显示自定义计算的交货日期?

当我try 部署我的Reaction应用程序时,为什么在此PrevState语句中收到语法错误?

需要特定的数学函数来标准化动画持续时间

这两个子元素在Reaction Native中使用的有什么不同?

试图从Amazon-Cogito-Identity-js模拟CogitoUser.authateUser,并将其获取为未定义的S

透明MOV文件未出现在我的React网页中

关于forwardRef,我可以';我不理解第二个用例

我从 S3 存储桶下载图像时收到错误

强制 useEffect 仅运行一次

ReactJS 中的图像加载顺序

DatePicker MUI 如何在日历左侧显示清除文本

单元测试 useLoaderData() react-router v6 加载器函数

我正在try 使用 cypress 测试我的下拉列表,它 Select 值但不提交它们(手动工作)

更新和删除功能不工作 Asp.net MVC React

谁能根据经验提供有关 useEffect 挂钩的更多信息

如何跨微前端 React 应用管理状态管理?

找不到元素 - 这是参考问题吗?

您无权使用阻止 webRequest 侦听器.请务必在 list 中声明 webRequestBlocking 权限