私覺得以我目前的水平來泛談前端無異於空中樓閣,那就純粹的瞎比比幾句好了。前端
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
等等。
在目前的這個前端大環境下面,框架或許並非根本,都是爲了解決各樣的業務需求。可是跟隨整個前端工業化時代的發展卻須要的工程化,自動化的思想。