前端面试题-webpack loader与plugin的区别

两者都是为了扩展webpack的功能而存在的

1. loader只专注与转化文件,完成压缩,打包,语言翻译
plugin不仅只局限在打包,资源的加载上,还可以打包优化和压缩,重新定义环境变量等

2.loader运行在打包文件之前(loader为在模块加载时的预处理器
  plugins在整个编译周期都起作用

3. 一个loader的职责是单一的,只需要完成一种转换,一个loader其实就是一个Node.js模块,当需要调用多个loader去转换一个文件时,每个loader会链式的顺序执行

总结:

对于loader,它是一个转换器,将A文件进行编译形成B文件,这里操作的是文件,比如将A.scss转换为A.css,单纯的文件转换过程

plugin是一个扩展器,它丰富了webpack本身,针对是loader结束后,webpack打包的整个过程,它并不直接操作文件,而是基于事件机制工作,会监听webpack打包过程中的某些节点,执行广泛的任务

loader 把非js文件转换为webpack可以处理的模块

plugin webpack执行过程中(生命周期)额外处理一些事项,压缩,清理,抽出

你可能感兴趣的:(面试题,前端,webpack,javascript)