当前位置: 首页 > 面试题库 >

Webpack输出错误的图像路径

金英华
2023-03-14
问题内容

我正在建立一个带有react和webpack的网站。当我使用webpack构建应用程序并尝试包含图像时,图像与其他资产一起写入了build文件夹,但是webpack输出的图像链接不正确。我可以进入构建文件夹并查看图像,因此正确复制了该图像,这是链接错误。

我的react组件看起来像这样:

'use strict';



var React = require('react');

var newsFeedIcon = require('../../img/news-feed-icon.png');



//create story component

module.exports = React.createClass({

  render: function () {

    return (

        <div className="col_12 footer-right mobile-foot">

        <img src={newsFeedIcon} />

        <p><a href="/about">About Us</a> | <a href="/contact">Contact Us</a> | <a href="/faq">FAQ</a> | <a href="/media">Media</a> | <a href="#">Privacy Statement</a> | <a href="#">Terms of Service</a></p>

      </div>

      );

  }

})

我的Webpack配置如下所示:

    webpack: {

      client: {

        entry: __dirname + '/app/js/client.jsx',

        output: {

          path: 'build/',

          file: 'bundle.js'

        },

        module: {

          loaders: [

          {

            test: /\.jsx$/,

            loader:'jsx-loader'

          },

          {

            test: /\.css$/,

            loader: "style-loader!css-loader"

          },

          {

            test: /\.(eot|woff|woff2|ttf|svg|png|jpg)$/,

            loader: 'url-loader?limit=30000&name=[name]-[hash].[ext]'

          },

          {

            test: /\.jpe?g$|\.gif$|\.png$/i,

            loader: 'file-loader'

          },

          {

            test: /\.jpg/,

            loader: 'file'

          }]

        }

      },

      test: {

        entry: __dirname + '/test/client/test.js',

        output: {

          path: 'test/client/',

          file: 'bundle.js'

        },

        module: {

          loaders: [

          {

            test: /\.jsx$/,

            loader:'jsx-loader'

          }]

        }

      },

      karma_test: {

        entry: __dirname + '/test/karma_tests/test_entry.js',

        output: {

          path: 'test/karma_tests/',

          file: 'bundle.js'

        },

        module: {

          loaders: [

          {

            test: /\.jsx$/,

            loader:'jsx-loader'

          }]

        },

        background: true

      }

    },

从昨天开始,我就一直把头撞在墙上,因此,我们将不胜感激。让我知道您需要更多信息。

谢谢!


问题答案:

您可以尝试为file-loader以及设置 name 选项output.publicPath

 output: {
     path: 'build/',
     file: 'bundle.js',
     publicPath: '/assets'
}

{ 
     test: /\.(png|jpg)$/, 
     loader: 'file-loader?name=/img/[name].[ext]' 
}

然后,您的需求中解析的网址将是:

/assets/img/news-feed-icon.png


 类似资料:
  • 是否可以像使用exclude排除文件一样,忽略类似以下的错误消息:< code >/etc/some-tool/some-log:file changed as we read it ? 我使用tar进行系统备份,将stdout和stderr重定向到日志文件中。我有一些包含日志文件的direcotures。我只是不想在我的结果文件中每天都有相同的错误行(如上图所示)。 到目前为止,在上找不到可以帮

  • 问题内容: 我正在使用核心图像,并且将CIFilter棕褐色调应用于图像。我在viewDidLoad中运行了一次过滤器,然后立即调用另一个再次添加过滤器的函数。由于某些原因,当我尝试访问输出图像时,应用程序崩溃并说输出图像为nil。有人知道为什么会这样吗? 谢谢 问题答案: 您不能调用该UIImage并将其用作UIImageView的图像。UIImageView需要一个由位图(CGImage)支持

  • 问题内容: 我有一张图片(例如) 有一个哑剧类型 如何将其输出到浏览器? 问题答案:

  • 我正在尝试制作一个程序,让很多人进入ArrayList,然后从中随机选择一个名字。代码运行正常,但请求名称输入的字符串在第一次运行时会显示两次。知道为什么会这样吗? 我希望它显示的内容:输入名称:。。。。。。 显示内容:输入名称:输入名称:。。。。。。

  • 我正在用facenet pytorch做一个人脸识别应用(https://github.com/timesler/facenet-pytorch)在python中使用两种方法。 第一种方法代码- 在这个代码中,我从给定的图像中提取人脸,并获得用于识别人脸的512编码。 在本例中,我使用了两个不同的面,并绘制了面之间的距离 它工作得很好... 第二种方法代码- 在这段代码中,我通常先获得面坐标,然后

  • 我有以下问题。我(完全菜鸟)想在不使用日历库的情况下获得一年中的一天来完成我的大学任务。 所以我在这里写我的代码,就像我认为它应该是这样的,但不知怎么的,我的结果得到了不同的结果,就像他们应该做的那样,我真的不知道为什么。我的代码很简单,我想也许你们中的一个人可以看到我的问题。现在已经过去了1-2个小时,时间对我来说已经不多了。 在我的程序的主要方法中,你可以清楚地看到我记录的内容,我希望有人能看