Webpack动态需要在require语句中使用加载器

mjc*_*283 14 javascript webpack

是否可以在require语句中使用动态requirerequire.context显式加载器?我希望能够做到这样的事情,但这对我不起作用:

var req = require.context('../somedir', false, /\.js$/);
var imported = req('my-loader!' + someModulePath); // someModulePath defined above somewhere
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,我得到一个'找不到模块'的错误,使得看起来像webpack my-loader!将字符串的一部分视为文件路径的开头,但我希望my-loader!被识别为加载器,如下所述:https ://webpack.github.io/docs/using-loaders.html#loaders-in-require

mat*_*pie 19

加载器在编译时只运行一次,这意味着在require.context编译之后,它只是纯Javascript.你可以像这样写:

var req = require.context("my-loader!../somedir", false, /\.js$/);
var imported = req(someModulePath);
Run Code Online (Sandbox Code Playgroud)

返回的函数require.context在运行时进行评估.