Skip to content

Latest commit

 

History

History
39 lines (25 loc) · 1.77 KB

what's_the_webpack.md

File metadata and controls

39 lines (25 loc) · 1.77 KB

什么是webpack?

标签(空格分隔): 模块化


WHAT IS WEBPACK

webpack是一个模块打包工具webpack需要具有依赖性的模块并且打包产出与那些模块相对应的静态资源。 webpack logo

为什么又开发了一个模块打包工具?

目前存在的的模块打包工具对于一个大的项目(大的单页面应用程序)并不是很适用。所以紧迫的需要开发另外一个代码切割同时也可以让静态资源通过模块化加载无缝适配组合在一起的模块打包工具。

目标

  • 把依赖关系数分割为按需加载的块。
  • 保证初始化加载时间尽量的短。
  • 所有的静态资源都应尽可能的是一个模块。
  • 能把第三方库整合起来作为一个模块。
  • 能自定义模块化打包工具的几乎每一部分。
  • 适用于大项目。

webpack有什么不同?

代码分割

webpack在依赖树中有两种依赖关系:同步异步。异步依赖项作为一个新chunk里的一个分割点。当chunk树优化之后,一个文件就可以被每个chunk使用。

加载器

webpack只能处理原生的javascript,但是可是使用对应的加载器把其他资源转换为javascript。通过这样,每一个资源都可以构成一个模块。

智能路径转换

webpack有一个很智能的转换器,它可以处理几乎所有的第三方库。它甚至允许像这样一个关系表达示require("./templates/" + name + ".jade")。最常见的处理模块风格:CommonJsAMD

插件系统

webpack提供了丰富的插件系统。许多内部功能都是基于这些插件系统的。这个允许你根据需求自定义webpack和使用常见的开源插件系统。