webpack 🧊
Loaders 和 Plugins 在 Webpack 中有着不同的设计目标和职责
职责分离
- Loaders 的主要职责是 转换模块类型,例如将 Sass 转换为 CSS,将 TypeScript 转换为 JavaScript,或者将图片转换为 Base64 编码的字符串。Loaders 的设计目标是处理文件的输入和输出,使其能够被 Webpack 正确地打包和加载。
- Plugins 的主要职责是 扩展 Webpack 的功能,例如代码分割、压缩资源、生成 HTML 文件、注入环境变量等。Plugins 可以在 Webpack 编译的各个生命周期阶段执行操作,提供更广泛的功能扩展。