通过Webpack Require上下文将查询参数传递给Loader

时间:2019-03-25 12:20:40

标签: javascript node.js webpack commonjs

我正在使用webpack的require.context来要求缩略图的目录。此外,在我的webpack配置文件中,我正在实现responsive-loader来为每个图像构建各种分辨率。

当我需要缩略图目录时,我想手动将查询参数传递给响应加载器以仅生成128和256宽度的图像。

如何通过webpack的require.context方法传递查询参数?

到目前为止,这是我的代码...

thumbnailContext.keys().forEach(thumbnailPath => {
    thumbnailContext(`${thumbnailPath}?sizes[]=128,sizes[]=256`)
})

该代码返回此错误。

Uncaught Error: Cannot find module './First Post/thumbnail.png?sizes[]=128,sizes[]=256'
    at webpackContextResolve (webpack:///./src/posts_sync_thumbnail\.(:8080/png%7Cjpeg%7Cjpg)?:12:11)

1 个答案:

答案 0 :(得分:0)

您必须将参数作为require.context第一个参数的一部分传递。

示例:

require.context('my-loader?sizes[]=128,sizes[]=256!./img', true, /\.png$/i);

如果要忽略可能配置的所有其他装载程序,请在其前面加上!!

require.context('!!my-loader!./img', true, /\.png$/i);