webpack 中的 loader 和 plugins 有什么区别?
插件的文档 只是说:
使用插件添加通常与 webpack 中的捆绑包相关的功能。
我知道 babel 使用加载程序进行 jsx/es2015 转换,但看起来其他常见任务(例如 copy-webpack-plugin)使用插件代替。
原文由 Tim Perkins 发布,翻译遵循 CC BY-SA 4.0 许可协议
webpack 中的 loader 和 plugins 有什么区别?
插件的文档 只是说:
使用插件添加通常与 webpack 中的捆绑包相关的功能。
我知道 babel 使用加载程序进行 jsx/es2015 转换,但看起来其他常见任务(例如 copy-webpack-plugin)使用插件代替。
原文由 Tim Perkins 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
当您在代码中使用诸如
require("my-loader!./my-awesome-module")
之类的东西时,加载程序会对几乎任何文件格式进行预处理转换。与插件相比,它们非常简单,因为它们 (a) 仅向 webpack 公开一个功能,并且 (b) 无法影响实际的构建过程。另一方面,插件可以深入集成到 webpack 中,因为它们可以在 webpacks 构建系统中注册钩子并访问(和修改)编译器,以及它的工作方式和编译。因此,它们更强大,但也更难维护。