1、什么是webpack或者是对webpack的理解?
webpack是一个打包模块化静态打包工具(Js打包工具),在webpack中一切文件皆模块(一个模块对应一个文件),webpack只能解析js和json文件,通过loader转换文件,让webpack能够处理除js和json文件之外的其他类型的文件,将他们转换为有效模块以供应用程序使用,以及被天教导依赖图中去;通过plugin注入钩子,扩展webpack的功能使其更加灵活。最后输出有多个模块组合成的文件。
webpack专注构建模块化项目,可以看做一个打包机器;webpack就是分析项目结构,找到js模块以及浏览器不能直接运行的拓展语言(如sass、less、ts等),并将其打包成合适的格式。
webpack是基于入口的,会自动的递归解析入口所需要加载的所有资源文件,用不同的loader来处理不同的文件,用plugin来扩展webpack的功能,webpack需要找到入口,清楚对于不同的资源应该使用什么loader做出何种解析加工。
2、什么是bundle、什么是trunk、什么是module bundle?
bundel:是有webpack打包出来的文件
trunk:是代码块,一个trunk由多个模块组合而成,用于代码的合并和分割
module:是开发的单独模块
3、loader、plugin是什么?
loader 用于对模块的源代码进行转换。loader 可以使你在 import 或"加载"模块