Webpack-Loader与Plugin
2026年10月16日·Admin·1 次浏览
面试题:Loader 和 Plugin 区别?分别在什么时机执行?
Loader
- 职责:对模块源码做转换(TypeScript → JS、LESS → CSS、图片 → URL/base64 等)。
- 本质:函数管道,从下到上 / 从右到左链式调用(需记清你用的配置顺序)。
- 运行在模块加载阶段,一个文件可串多个 loader。
Plugin
- 职责:基于 Tapable 钩子在整个编译生命周期里做扩展:生成额外文件、修改 bundle、压缩、分析、HMR 等。
- 本质:类 + apply(compiler),订阅
compile/emit/done等事件。
一句话
Loader 转文件内容;Plugin 管流程与产物。手写题常考:Loader 是函数,Plugin 是带 apply 的类。