Webpack

一个现代的JavaScript Web应用程序包括很多不同的包和依赖关系,重要的是要有一些简单的方式解释这一切。

Angular 2采用将应用程序分为许多不同组件的方法,每个组件可以有多个文件。以这种方式分离应用程序逻辑对程序员是有好处的,但是会减损用户体验,因为这样做会增加页面加载时间。 HTTP2旨在以一种方式解决这个问题,但是直到更多的知道它的效果,我们将需要捆绑我们的应用程序的不同部分,并压缩它。
我们的平台,浏览器,必须继续提供所有现有代码的向后兼容性,并且这需要慢慢移动添加到HTML / CSS / JS的基本功能。社区创建了不同的工具,将其首选语法/功能集转换为浏览器支持的语法/功能集,以避免将其自身绑定到Web平台的约束。这在Angular 2应用程序中尤其明显,其中使用了大量的TypeScript。虽然我们不在我们的课程中这样做,但是项目也可能涉及到必须集成的CSS预处理器(sass,stylus)或模板引擎(jade, Mustache, EJS)。
Webpack通过提供一个通用接口来集成所有这些工具,并允许我们简化我们的工作流和避免复杂性解决这些问题。