Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态中的webpack3查询字符串是否需要?还是单文件、多输出?_Webpack_Query String_Require - Fatal编程技术网

动态中的webpack3查询字符串是否需要?还是单文件、多输出?

动态中的webpack3查询字符串是否需要?还是单文件、多输出?,webpack,query-string,require,Webpack,Query String,Require,我正在为webpack编写一个图像处理加载程序。我希望我的加载器非常简单和通用,这样就可以轻松地与其他加载器链接:输入图像,根据加载器配置(调整大小、转换等)通过一系列操作运行图像,输出图像 在我的用例中,我想使用这个加载器创建单个图像的多个版本,例如:不同大小的响应布局;支持它们的浏览器的webp版本;等等 一种可行的方法是在我的网页配置规则中使用resourceQuery测试: ... rules: [ { test: /\.jpe?g$/, oneOf: [

我正在为webpack编写一个图像处理加载程序。我希望我的加载器非常简单和通用,这样就可以轻松地与其他加载器链接:输入图像,根据加载器配置(调整大小、转换等)通过一系列操作运行图像,输出图像

在我的用例中,我想使用这个加载器创建单个图像的多个版本,例如:不同大小的响应布局;支持它们的浏览器的webp版本;等等

一种可行的方法是在我的网页配置规则中使用
resourceQuery
测试:

...
rules: [
  {
    test: /\.jpe?g$/,
    oneOf: [
      {
        resourceQuery: /webp/,
        loaders: [
          'file-loader',
          /* configure my loader to generate webp files */
        ]
      },
      {
        resourceQuery: /size1024/,
        loaders: [
          'file-loader',
          /* configure my loader to resize to a width of 1024 */
        ]
      },
      // etc...
      {
        /* no resourceQuery - default processing for an image */
        loaders: [ 'file-loader' ]
      }
    ]
  }
]
...
如果我使用
import
转换图像,则此操作有效:

import webpImage from '../assets/image.jpg?webp'
但是,假设我的图像在一个数组中,所以我想
需要
它们。。。这项工作:

images.map(path => require(`../assets/${path}`))
但是添加查询字符串似乎不起作用(“找不到模块”是错误):

有什么神奇的网页咒语可以做这样的事情吗?我愿意接受其他建议来实现我的目标。例如,我考虑过使用multi-loader只需要图像一次,而不需要任何查询字符串,但是multi-loader只导出最后一个加载程序的结果。如果它从所有加载程序导出一个数组或结果的某种键/值散列,这可能会起作用,但不会

images.map(path => require(`../assets/${path}?webp`))