标签(空格分隔): 模块化
webpack
是一个模块打包工具
。
webpack
需要具有依赖性的模块并且打包产出与那些模块相对应的静态资源。
目前存在的的模块打包工具对于一个大的项目(大的单页面应用程序)并不是很适用。所以紧迫的需要开发另外一个代码切割
同时也可以让静态资源通过模块化加载无缝适配组合在一起
的模块打包工具。
- 把依赖关系数分割为按需加载的块。
- 保证初始化加载时间尽量的短。
- 所有的静态资源都应尽可能的是一个模块。
- 能把第三方库整合起来作为一个模块。
- 能自定义模块化打包工具的几乎每一部分。
- 适用于大项目。
代码分割
webpack在依赖树中有两种依赖关系:同步
和异步
。异步依赖项作为一个新chunk里的一个分割点。当chunk树优化之后,一个文件就可以被每个chunk使用。
加载器
webpack只能处理原生的javascript,但是可是使用对应的加载器把其他资源转换为javascript。通过这样,每一个资源都可以构成一个模块。
智能路径转换
webpack有一个很智能的转换器,它可以处理几乎所有的第三方库。它甚至允许像这样一个关系表达示require("./templates/" + name + ".jade")
。最常见的处理模块风格:CommonJs
和AMD
。
插件系统
webpack提供了丰富的插件系统。许多内部功能都是基于这些插件系统的。这个允许你根据需求自定义webpack和使用常见的开源插件系统。