是否可以从解析器插件中访问webpack任务配置?

时间:2015-06-16 20:38:27

标签: webpack

我使用webpack的配置对象数组来运行多个构建,并且我有一个解析器插件(感谢Is it possible to create custom resolver in webpack?处的示例)。我想知道,在解析器插件中,是否可以访问webpack当前正在使用的特定配置对象。 (我可以做require('webpack.config.js'),但后来我得到了所有配置对象的数组,并且不知道当前正在构建哪个。)

用例:每个配置对象代表一个不同的"主题"对于该项目。解析器插件在通过特定的require()参数语法调用时,将首先搜索特定的"主题"所需资产的目录,如果找不到,将搜索"核心"同一资产的目录。这允许"主题"仅在需要时覆盖应用程序中的组件,否则重用共享组件。将该逻辑移动到解析器可以轻松添加/删除组件,而无需更改一堆硬编码依赖项。

我试图解决的问题是解析器插件并不知道哪个"主题"目前正在构建,因此它不知道要搜索的目录。我最初通过运行webpack作为Grunt的子进程来解决这个问题,并定义了一个环境变量来表示"主题"正在建设,但我更愿意让Grunt远离循环。我想如果每个配置对象使用"主题"定义其modulesDirectories也会有效。目录首先,然后"核心" - 但这比我想要的更特别;理想情况下,会有一个明确的定义和查找主题"为每项任务。看起来应该有一种方法来引用当前的webpack构建配置,而它正在运行......?

1 个答案:

答案 0 :(得分:0)

所以我仍然不知道你是否可以访问当前的配置,但是Tobias Koppers指出(谢谢!)我可以通过"当前的主题"直接配置解析器插件的构造函数。有意义,让我得到了我需要的东西。