私觉得以我目前的水平来泛谈前端无异于空中楼阁,那就纯粹的瞎比比几句好了。前端
2014年正式接触并开始学习前端开发,那个时候我也只是据说过 React,NodeJS 等高大上的东西,但依旧用着 jQuery,以为它就能干全部的事情,固然如今我依然以为 jQuery 是一个灰常好的库。干的最多的事情就是复制粘贴
,工具
,上传代码看效果
。node
实际开发过程当中用到过不少的工具,基本上每接触一个新东西都会使用到一种工具。好比说CSS圆角工具
,Less在线编译
,JS在线压缩
,JS校验工具
, CSS校验工具
, CSS压缩工具
, 正则表达式在线测试
, 图片编码工具
, PS图片合成
,图片压缩
。基本上若是出现错误就要从新再来一遍。git
重复的事情作多了老是会变得特别蛋疼。github
第一次了解到工程化的概念,是由于在github上找项目的时候看到,有人多pakage.json , gruntfile.js之类的看不懂的文件。随之而来的就是慢慢喜欢上了这种写东西。正则表达式
从开始知道npm,nodejs这些强大的工具以后,(目前来看,nodejs我只是做为工具在使用),我就在思考怎样的去提高开发到部署整个阶段的效率。我所须要的工做流程应该是包含如下阶段的:shell
1. 模块化 2. 代码自动编译 3. 自动化测试 4. 多端同步测试 5. 资源整合,压缩,定位。 6. 项目打包 7. 部署
一键式解决全部的问题是我最喜欢的方式(好比说重启一下?)。npm
为了一一解决全部遇到的问题,我开始思考须要用到的一些工具,库等等。json
没有最好的工具,只有最合适的工具。gulp
自动化工具备太多,gulp
, grunt
, fis
, npm scripts
, shell
等等。目前我使用最可能是 gulp
, 主要是由于gulp有一个比较庞大的社区,并且gulp基于流的思想,倒是比grunt的文件实现快速,又懒得本身去编写一些自动化脚本。gulp应该算是最好的选择。框架
gulp社区提供的插件也是特别的丰富。目前,项目会使用到的如: gulp-del
,browser-sync
, gulp-mocha
, gulp-uglify
, gulp-rename
, gulp-zip
, gulp-less
等等。
在目前的这个前端大环境下面,框架或许并非根本,都是为了解决各样的业务需求。可是跟随整个前端工业化时代的发展却须要的工程化,自动化的思想。