如果您觉得该文档对您有帮助,请打赏,五毛十毛均可。另外,转载请注明作者及出处。
Webpack 是一个模块打包工具
Webpack 将模块、依赖和各种资源打包,生成静态资源文件。
需要一款新的模块打包工具吗?
目前的模块打包工具不适合大项目,特别是在代码切分(Code Splitting)和静态资源的模块化组织方面存在问题,改进现有的工具也不能很好的解决问题。
新工具的目标
- 切分依赖树,将其变成块,需要时才载入
- 确保应用能快速载入
- 静态资源也能模块化
- 能方便的将第三方库作为模块载入
- 打包器是完全可配置的
- 适合大项目
Webpack 有什么不同
Code Splitting
Webpack 管理两种不同类型的依赖:同步依赖和异步依赖。异步依赖可以作为切分点生成新的块。当块树被优化之后,相关文件会从所有块中删除。
Loaders
虽然 Webpack 自身只能处理 Javascript,但是装载器可以处理各种其他类型的资源。经过处理,每个资源都会生成一个模块。
智能解析器
Webpack 的只能解析器可以处理几乎所有的第三方库。他也允许在依赖中出现表达式,就像下面这样:
require("./templates/" + name + ".jade")
他也可以正确处理不同的模块化标准,比如:CommonJs 和 AMD
插件系统
Webpack 有强大的插件系统,因此可以定制不同的功能。