Loader 和 Plugin 的不同?

46 阅读1分钟

不同的作⽤:

Loader 直译为"加载器"。Webpack 将⼀切⽂件视为模块,但是 webpack 原⽣是只能解析 js⽂件,如果想将其他⽂件也打包的话,就会⽤到 loader 。 所以 Loader 的作⽤是让 webpack 拥有了加载和解析⾮JavaScript⽂件的能⼒。

Plugin 直译为"插件"。Plugin 可以扩展 webpack 的功能,让 webpack具有更多的灵活性。在Webpack 运⾏的⽣命周期中会⼴播出许多事件,Plugin 可以监听这些事件,在合适的时机通过 Webpack 提供的API 改变输出结果。

不同的⽤法:

  • Loader 在 module.rules 中配置,也就是说他作为模块的解析规则⽽存在。 类型为数组,每⼀项都是⼀个 Object ,⾥⾯描述了对于什么类型的⽂件( test ),使⽤什么加载( loader )和使⽤的参数( options )
  • Plugin在 plugins 中单独配置。类型为数组,每⼀项是⼀个 plugin的实例,参数都通过构造函数传⼊。