[新姿式]前端革命,革了再革:WebPack

时光回溯到2009年,CommonJS规范和NodeJS都还在襁褓之中,离Bower诞生还有三年时间,Ruby还统治着github,CoffeeScript在年底提交了第一个commit……前端

备受加载顺序,依赖关系折磨的前端开发,开始站起来试图解决日益复杂的前端开发的种种问题,RequireJS降临了。若是说NodeJS吹响了JS全栈革命的号角,那么同时发生的前端模块化革命即是RequireJS的历史使命。webpack

五年过去了,RequireJS打败了同级生LabJS,带起了中国小伙伴SeaJS。他完美地引领了前端模块化的革命,但今天看来,它有些过期了:它重浏览器端,轻打包编译,没有及时跟进包管理体系,almond没有成为标配而只是周边,配置晦涩……诞生太早的RequireJS,虽然一度成为了前端模块化的某种程度上的事实标准,但难掩其缺点。git


五年间,NodeJS成为了服务端以及脚本工具的一代翘楚,NPM的成功让你们意识到一个集中式的依赖/包管理体系的重要性,Bower应运而生,还有试图将CMD和NPM包带到前端领域,统一先后端包格式的Browserify等等,大量的前端工具爆发式地出现,WebPack是其中的(又)一款模块打包工具。github

webpack的优点一言难尽,相比其余竞争者,他的好处有web

  • 模块来源普遍,支持包括npm/bower等等的各类主流模块安装/依赖解决方案
  • 模块规范支持全面,amd/cmd以及shimming等一应具全
  • 浏览器端足迹小,移动端友好,却对热加载乃至热替换有很好的支持
  • 插件机制完善,实现自己实现一样模块化,容易扩展

但其最大的特色是“用着舒服,不折腾”,这是一款工具最难能难得的优势。npm

webpack官网
http://webpack.github.io/gulp

个人前端技术栈scaffold (bower+webpack+less+gulp)
https://github.com/mcfog/glimmervoid后端


from http://inside.mcfog.wang/2015/01/tech4fun-2/浏览器

相关文章
相关标签/搜索