将整个目录传入' require()'使用Webpack Encore的功能

时间:2018-01-01 18:21:35

标签: symfony webpack webpack-encore

Webpack Encore对我而言是新手,我正在努力解决静态文件问题。要使用静态文件,您必须在main.js中要求使用静态文件:

require('images/myImage.jpg');

然后,此文件将添加到manifest.json,您可以使用{{ asset(myImage.jpg) }}来引用它。如何将整个目录传递到required()函数?我不想逐个添加所有静态图片。

我已经尝试过了'#d; require-dir' library无济于事。它一直输出此错误:require.extensions is not supported by webpack

有没有更简单的方法来实现我想要的?

1 个答案:

答案 0 :(得分:1)

您可以使用require.context。假设您想要在favicon目录中包含所有img,您可以执行以下操作。

// Load all favicons in directory
require.context('../img/favicon', false, /\.png$|.ico$/);

无需将结果存储在对象中或在代码中使用它。 Webpack将在配置的输出目录中包含与.png and .ico匹配的所有文件。

通过这种方式,您还可以控制最终正则表达式所需的文件。