在发出

时间:2017-09-04 00:13:07

标签: webpack

我正在研究webpack loader/plugin combination。加载器从JS文件中提取静态样式,使用这些样式编写(虚拟)CSS文件,然后在JS文件的顶部添加一个require,指向虚拟CSS文件。该插件提供虚拟文件系统(非常优秀的memory-fs)。

到目前为止,我一直在为每个JS文件编写一个CSS文件,但我想为每个编译编写一个文件。这意味着我需要在编译结束时进行聚合步骤。

至少可以说,我目前正在做的是一些黑客攻击:

  • 在编译之前,编写一个带有特殊格式化路径的虚拟CSS文件,并将其添加到entry数组前面(以特殊加载器为前缀)。特殊加载器忽略输入内容,而是返回聚合样式。
  • 在加载程序处理每个JS文件时聚合样式。
  • 使用need-additional-pass强制进行额外编译。

问题是由need-additional-pass触发的重新编译需要两倍的时间(至少在生产中)。

我会稍微尝试某种儿童编译器的废话,但与此同时,我想我会问,看看是否有人有这样的经历。

总结,是否可以在发出之前重新编译单个必需的模块?要清楚,我不想发出CSS文件。我想将这个提取的CSS文件视为一个需要的文件,以便用户可以决定如何处理它。

其他问题:

  1. 我可以使用子编译器重新编译模块并在父编译器中更新它吗?
  2. 我是以错误的方式来做这件事的吗?
  3. 我正在使用最新的webpack(3.5.5)。

0 个答案:

没有答案