webpack在自定义加载器和插件之间共享数据

Eri*_*k M 6 webpack

说明

我正在开发一个webpack自定义加载程序,它负责解析javascript并使用正则表达式搜索某些文本。

我需要一种方法来收集每个已解析文件之间的数据,最后将该数据传递给相关的插件,以便该插件可以对该数据进行适当的操作。

我失败的策略

我可以使用一个模块在加载程序调用之间共享数据,但是这些数据在插件中不可用。

建议?

我一直在研究extract-text-plugin的方式,因为它具有加载程序和插件,但是在查看源代码时,他们对模块的声明方式对我来说很奇怪,我无法真正理解他们的策略。

谢谢你的帮助!

Dan*_*ock 6

使用共享模块是一个可行的选择,我创建了一个加载器/插件组合,它从通过加载器导入的 svgs 创建一个 SVG 精灵,这里是存储库: https: //github.com/crystal-ball/svg-symbol-sprite -装载机

以下是我设置流程的方法:

  1. 我导出一个单例作为sprite-store
  2. 需要loader精灵存储并将任何导入的 SVG 添加到存储中。
  3. 在附加资产挂钩中,plugin从精灵存储中读取所有收集的数据。