Webpack装载机与插件; 有什么不同?

webpack中的加载器和插件有什么区别?

插件的文档只是说:

使用插件添加通常与webpack中捆绑相关的function。

我知道babel使用jsx / es2015转换器的加载器,但是看起来像其他常见任务(例如copy-webpack-plugin)使用插件。

当你在你的代码中使用像require("my-loader!./my-awesome-module")这样require("my-loader!./my-awesome-module")时,几乎可以对所有文件格式进行预处理转换。 与插件相比,它们非常简单,因为它们(a)只向webpack公开一个函数,(b)不能影响实际的构build过程。

另一方面,插件可以深入地集成到webpack中,因为它们可以在webpack搭build系统中注册钩子,访问(修改)编译器,以及如何工作以及编译。 因此,他们更强大,但也更难以维持。

添加补充和简单的答案。

装载机:

装载程序生成包的 过程中之前在单个文件级别上工作。

插件:

插件在捆绑级别上工作,通常在捆绑生成过程结束时工作。 插件还可以修改捆绑本身的创build方式。 插件比装载者有更强大的控制。

举个例子,你可以在下面的图片中清楚地看到装载机在哪里工作,插件在哪里工作 –

在这里输入图像说明 参考文章和图像