webpack
-
什么是webpack
webpack是一个module bundler(模块打包器)。
-
为什么使用webpack
模块:前端开发所涉及到的所有的js,css,html等文件,都可以看做模块
打包:开发的时候,我们需要开发多个文件,不能合在一起开发。那样会增加逻辑复杂度。开发完成后,把所有的模块,合并成一个大模块的过程。比如把所有的js合并成一个大的js文件
好处:比如一个js,浏览器就要请求一个js文件。多个js,就要请求多次,速度慢,并且如果有一个请求慢了,整体就会变慢。合并成一个之后,就可以只请求一次就行
-
webpack主要功能
-
模块打包:Webpack能够识别并处理各种类型的模块(如JavaScript、CSS、图片等),并通过依赖关系图来确定它们之间的引用关系。
-
代码转换:Webpack支持使用各种加载器(Loaders)对不同类型的文件进行转换。例如,可以使用Babel加载器将ES6+的JavaScript代码转换为浏览器可识别的ES5代码。
-
代码分割:Webpack可以将应用程序拆分为多个块(chunks),并在运行时动态加载它们。这有助于实现按需加载,提高应用程序的性能。
-
文件优化:Webpack提供了各种插件(Plugins)用于优化生成的文件,例如压缩JavaScript、CSS、图片等,以减小文件大小,提升加载速度。
-
开发者工具:Webpack提供了开发者友好的特性,如热模块替换(Hot Module Replacement)、代码分析等,帮助开发者在开发过程中提高效率。
- webpack逆向思路
- 确定是否是webpack
- 找到加载器,扣下来
- 缺啥补啥。赋值全局变量。
这个思路是网上的。我个人不认为是这个思路。我觉得不需要扣下来加载器。加载器就是调用相应的函数,我们直接把相应的函数扣下来就行了,不需要去考虑加载器
webpack特点
1.单文件webpack是有个加载器,使用加载器来加载函数模块。函数模块以列表或者字典的形式存储。加载器加载模块时候,如果是列表,那就调用数字下标,如果是字典,那就用key来进行调用。
2.