是否可以在require语句中对显式加载器使用动态require
和require.context
?我希望能够做这样的事情,但它并不适合我:
var req = require.context('../somedir', false, /\.js$/);
var imported = req('my-loader!' + someModulePath); // someModulePath defined above somewhere
当我尝试这个时,我找不到一个'模块'错误使得看起来像webpack将字符串的my-loader!
部分视为文件路径的开头,但我希望my-loader!
被识别为加载器,如下所述:{{3} }
答案 0 :(得分:19)
加载程序在编译时只运行一次,这意味着在编译require.context
之后,它只是纯Javascript。你可以这样写:
var req = require.context("my-loader!../somedir", false, /\.js$/);
var imported = req(someModulePath);
require.context
返回的函数在运行时进行评估。