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

时间:2017-09-19 19:19:13

标签: webpack

解释

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

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

我失败的策略

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

建议?

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

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

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

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