Webpack是一个模块打包工具,你能够使用Webpack管理你的模块依赖,并编译输出模块们所须要的静态文件。它可以很好的管理,打包web开发中所用到的HTML,Javascript,CSS以及各类静态文件(图片,字体等),让开发过程更加高效。对于不一样类型的资源,webpack有对应的模块加载器。Webpack模块打包器会分析模块间的依赖关系,最后,生成了优化切合并后的静态资源。css
webpack的两大特点:webpack
1.code splitting(能够自动完成)web
2.loader 能够处理各类类型的静态文件,而且支持串联操做缓存
webpack是以commonJS的形式来书写脚本的,但对AMD/CMD的支持也会很全面,方便旧项目进行代码迁移。异步
webpack具备requireJS的和browserify的功能,但仍有不少本身的新特性。工具
1.对CommonJs,AMD,ES6的语法作了兼容;字体
2.对js,css,图片等资源文件都支持打包。优化
3.串联模式加载器以及插件机制,让其具备更好的灵活性和拓展性,例如提供对CoffeeScript,ES6的支持ui
4.有独立的配置文件webpack.config.js插件
5.能够将代码切割成不一样的chunk,实现按需加载,下降了初始时间
6.支持SourceUrls和SourceMaps,易于调试
7.具备强大的Plugin接口,大部分是内部插件,使用起来比较灵活。
8.webpack使用异步IO并具备多级缓存。这使得webpack很快在增量编译上更快