前端工程化
初戀 前端工程化
2020/11/19
丘梓陽
注意事項
- 不是盲目追求
- 不是爲了技術而技術
而是不斷解決業務量所帶來的問題複雜度
用簡單技術解決問題
歷史
後端
前端
M
C
V
Refresh
網頁
這種模式已經不符合當前業務需求以及開發效率要求
面臨問題
技術爲了解決問題而存在
想要用 ES6 新特性來加速開發效率解決問題,但我又要考慮到相容性的問題,煩惱!
想要用 less/sass/postcss... 加強僞程式化和結構化,但 browser 環境不能識別,煩惱!
想要用模組化方式來提高可維護性,私有成員等,但在 browser 環境不能直接使用,煩惱!
想要部署上線前需要手動去壓縮資源檔案(文件),部署過程中也需要手動上傳程式。
手動 === 手殘 (條件成立),可 通過機器取代人重覆操作 (條件成立)
想要在多人協作開發過程中,無法統一 coding style 保證,從 pull 下來,發現一些硬性要求條件無法一致
語言與語法弊端
無法使用模塊化/組件化
重覆性操作流程
無法 coding style 統一和 quality (lint)
依賴後端接口支持
整體太依賴後端
什麼是工程化
主要提高效率,降低成本,quality 保證
開發(寫code)
preview/testing
commit/push
deployment
- 格式化
- 檢查 coding style,lint (quality 保證)
- 編譯/build/打包
- web server mock
- live reloading
- sourcemap
重覆性被自動化
- git hooks
- lint-staged
- CI
- CI/CD
- 自動部署
工程化≠工具
工程化≠工具
- 工具不是工程化核心
- 工程化核心對專案整體規劃或者架構,而工具過程中只是協助(輔助)我們實現規劃和架構手段
Local 環境
git
source code
test code
build
開發
debugger
PRD 環境
run code
invoke
deploy
後端
前端工程化
By Decade Hew
前端工程化
- 390