Webpack 中的 Loader 和 Plugin 是扩展其功能的两种核心机制,但它们的职责和使用方式有本质区别。以下是详细对比:
一、核心区别总结
对比维度 |
Loader |
Plugin |
功能目标 |
转换特定类型的文件(模块级处理) |
扩展 Webpack 整体功能(构建级处理) |
执行时机 |
在模块加载时同步执行 |
在 Webpack 的各个生命周期钩子中执行 |
输入输出 |
接收源文件内容,返回转换后的内容 |
直接操作 Webpack 的编译对象(如 compiler ) |
配置方式 |
在 module.rules 中配置 |
在 plugins 数组中实例化 |
典型应用 |