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