學習前端工作流程 - 初期開發建置
現代的前端工程真的越來越進步,不管是技術、工具、實作方式都各個百花齊放,為了能夠實際應運用,好的前端工作流程也就變得很重要,讓我們在開發上更為快速便利,順便也讓許多細節任務都能自動化執行,在後面的維護上就能降低許多成本,甚至往後再做更多的擴充也行。
本篇文章的紀錄為初期的開發建置之步驟,這是通用的基本款,之後有機會的話會再做進階款(中大型網站)的。以下內容所列出的技術、工具、框架、函示庫等等,會以目前主流或常用的為主。
開發流程之工具與技術的選擇
在著手開發專案前,一定都會先構想該用那些技術與使用上的需求,是否適合本專案的開發成本呢?小型或大型的專案也要考慮,又或者是在研究新技術的階段呢?
這裡紀錄一些的常用的選擇項目 :
JavaScript 框架
- Angular
- React
- Vue
- Backbone
- Ember
JavaScript 特性寫法與轉譯工具
- 原始ES5
- ES6+ 搭配 Babel 轉譯工具
- TypeScript 搭配本身 TypeScript 轉譯工具
- JSX (React) 用於 React 框架之中
JavaScript 模組化管理
- Browserify 模組載入工具搭配 CommonJS 規範
- Webpack 模組化整合套件
CSS 預處理器
- Sass
- Less
- BEM
套件管理器 (需預先安裝Node.js)
- NPM
- Bower
任務運行管理器
- Grunt
- Gulp
Git版本控制 代理倉庫與服務
- Github
- GitLab
- BitBucket
Text Editor 或 IDE (這裡就請參考下面連結吧!)
詳細介紹之參考 :
超全的web開發工具和資源
前端工程師必須學會的現代化前端開發工具
NPM vs. Bower vs. Browserify vs. Gulp vs. Grunt vs. Webpack
初期開發流程建置 (基本版)
- 決定使用的工具與技術
- 安裝載入所需的管理工具
- 建置專案的目錄結構
- 初始化套件與任務管理器的設定
- 安裝正式上線時會用到的框架或函式庫於專案中
- 安裝在開發時期的任務工具套件,正式上線時會去除掉
- 使用 Grunt 或 Gulp 撰寫自動化任務程式碼:
- 壓縮最小化 JS、CSS 檔案
- 壓縮圖片
- 合併檔案
- 合併 HTML 裡的代碼
- 加入監看事件,當有檔案修改就自動化任務
- 瀏覽器同步檢視
- 轉譯檔案成原始 JS、CSS 檔
- 把上面的任務都全部打包成一個指令,使用終端機(Terminal) 來下指令啟動,就可以看到自動化產生的正式版資料夾(dist)
- 設定版本控制 Git,訂定此專案的 git flow 與 git message
- 開始撰寫專案內容
最後我也把研究時所使用的 原始碼 放在 Github 上面了。
這個專案並沒有使用到編譯或轉譯的任務工具,因為是單人的初期建置樣板,也就沒有使用 git flow 囉。
開發流程之參考 :
一看就懂的前端開發環境建置入門教學
My ideal front end development workflow for a new project
What’s the best workflow for front end development?
目錄結構之參考 :
使用 Gulp 之目錄結構
較完整之目錄結構
針對 Gulp 使用方式之參考 :
Gulp 基礎入門 - 2017
Gulp 常用插件介紹
Gulp 與 Webpack 的迷思
git-flow 與 git message 之參考 :
git-flow 的工作流程
git-flow-avh (AVH Edition) 快速教學
How to Write a Git Commit Message,翻譯版: 連結