前言:
私以為以我目前的水平來泛談前端無異於空中樓閣,那就純粹的瞎比比幾句好了。
學著變化
2014年正式接觸並開始學習前端開發,那個時候我也只是聽說過 React,NodeJS 等高大上的東西,但依舊用著 jQuery,覺得它就能幹所有的事情,當然現在我依然覺得 jQuery 是一個灰常好的庫。乾的最多的事情就是複製貼上
,工具
,上傳程式碼看效果
。
實際開發過程中用到過很多的工具,基本上每接觸一個新東西都會使用到一種工具。比如說CSS圓角工具
,Less線上編譯
,JS線上壓縮
,JS校驗工具
, CSS校驗工具
, CSS壓縮工具
, 正規表示式線上測試
, 圖片編碼工具
, PS圖片合成
,圖片壓縮
。基本上如果出現錯誤就要重新再來一遍。
重複的事情做多了總是會變得特別蛋疼。
第一次瞭解到工程化的概念,是因為在github上找專案的時候看到,有人多pakage.json , gruntfile.js之類的看不懂的檔案。隨之而來的就是慢慢喜歡上了這種寫東西。
我所理解的工作流
從開始知道npm,nodejs這些強大的工具之後,(目前來看,nodejs我只是作為工具在使用),我就在思考怎樣的去提升開發到部署整個階段的效率。我所需要的工作流程應該是包含以下階段的:
1. 模組化
2. 程式碼自動編譯
3. 自動化測試
4. 多端同步測試
5. 資源整合,壓縮,定位。
6. 專案打包
7. 部署
一鍵式解決所有的問題是我最喜歡的方式(比如說重啟一下?)。
為了一一解決所有遇到的問題,我開始思考需要用到的一些工具,庫等等。
使用工具
沒有最好的工具,只有最合適的工具。
自動化工具有太多,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
等等。
在目前的這個前端大環境下面,框架或許並不是根本,都是為了解決各樣的業務需求。但是跟隨整個前端工業化時代的發展卻需要的工程化,自動化的思想。