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方式。 插件比装载者有更强大的控制。
举个例子,你可以在下面的图片中清楚地看到装载机在哪里工作,插件在哪里工作 –
参考文章和图像