很荣幸做为前端专题讲师参加2016年SDCC,与周爱民老师同台,听业界牛人的分享真是受益不浅。对我来讲是第一次在如此规模的专题论坛上演讲,全程紧张的要命,提早准备好的内容有不少由于紧张没有讲出来。这次参会最大的收获不只仅是对本身的一次锻炼,更多的是了解前端行业的技术现状和将来走向。
前端
个人分享主题是《基于webpack的前端工程解决方案》,ppt能够在这里下载。演讲前对ppt有稍微的修改,与提交给CSDN的ppt稍有出入,可是并不影响总体内容。webpack
与其余几位演讲嘉宾分享的内容相比,个人分享主题其实并无不少干货。主要的内容是讲述本人自2016年4月份加入58到家,独立承担前端工程解决方案的探索和开发中的一些经验和感想。更多的是对前端工程化理想模式的思考和探讨。git
首先介绍58到家前端工程解决方案boi目前的模式:
github
上图展现的是目前业内比较广泛的前段工程解决方案,也是58到家目前阶段所采用的。这套方案涵盖了从项目初始到前端资源部署上线中的各个环节。boi以webpack为构建核心,总体架构以下图:
web
webpack能够说是目前最流行的构建工具之一,功能全面稳定,可扩展性良好而且有庞大的社区资源。webpack的定位就是解决项目构建中的各类需求:
前端工程化
前端工程解决方案中,构建是核心环节,但并非惟一的环节,因此boi围绕webpack打造的构建核心,同时提供了脚手架、本地服务器和本地部署功能:
服务器
boi提供了清晰的工做流,能够很大程度上提升开发效率:
前端工程师
这套工做流存在一个致命的缺陷:提测和上线的文件存在必定的差别,而且build动做由开发者本地执行,若是存在多人协做的项目,必须存在一个汇总的开发者来执行代码的merge和build。架构
因此上图展现的本地工做流只是一种过渡的方案,并不严谨。工具
boi提供的功能几乎都是本地可执行的,可是咱们对boi的目标定位是:
boi的脚手架、本地服务器能够提升开发者本地开发的效率,功能开发完成以后,由部署到云端的boi统一执行构建,搭配模拟真实环境的测试沙箱,保证测试文件和线上文件的高度统一:
以上方案只需build一次,且是面向生产环境的build。这样就解决了测试和线上文件的不统一问题,可是仍然存在进步空间:本地&测试&线上,三个环境的代码统一。
这也是对前端工程化理想模式的感想之一。其实前端工程师愈来愈向全能手的角色发展,包揽中间层和客户端。这这样的定位下,前端工程化的理想模式应该包含哪些环节呢?如下是我我的的一点感想:
固然,这只是一己之见,欢迎你们共同探讨。
文中提到的boi会在后续的博文中陆续解析。