Webpack 在 require 语句中动态要求加载程序
Webpack dynamic require with loaders in require statement
是否可以在 require 语句中使用带有显式加载程序的动态 require
和 require.context
?我希望能够做这样的事情,但它对我不起作用:
var req = require.context('../somedir', false, /\.js$/);
var imported = req('my-loader!' + someModulePath); // someModulePath defined above somewhere
当我尝试这个时,我得到一个 'module not found' 错误,这使得 webpack 似乎将字符串的 my-loader!
部分视为文件路径的开头,但我想要 my-loader!
被识别为加载程序,如下所述:https://webpack.github.io/docs/using-loaders.html#loaders-in-require
加载程序 运行 在编译时只有一次,这意味着在编译 require.context
之后,它只是纯粹的 Javascript。你可以这样写:
var req = require.context("my-loader!../somedir", false, /\.js$/);
var imported = req(someModulePath);
require.context
返回的函数在 运行 时计算。
是否可以在 require 语句中使用带有显式加载程序的动态 require
和 require.context
?我希望能够做这样的事情,但它对我不起作用:
var req = require.context('../somedir', false, /\.js$/);
var imported = req('my-loader!' + someModulePath); // someModulePath defined above somewhere
当我尝试这个时,我得到一个 'module not found' 错误,这使得 webpack 似乎将字符串的 my-loader!
部分视为文件路径的开头,但我想要 my-loader!
被识别为加载程序,如下所述:https://webpack.github.io/docs/using-loaders.html#loaders-in-require
加载程序 运行 在编译时只有一次,这意味着在编译 require.context
之后,它只是纯粹的 Javascript。你可以这样写:
var req = require.context("my-loader!../somedir", false, /\.js$/);
var imported = req(someModulePath);
require.context
返回的函数在 运行 时计算。