隨着瀏覽器和前端技術的發展,如今的前端項目愈來愈大、業務也愈來愈複雜,前端工程化已經成爲一件勢在必行的事情。javascript
前端工程化其實就是軟件工程在前端方向上的實施,不過篇幅有限,本文只講解其中的幾個點。css
若是前端團隊只有一兩我的,規範的做用微乎其微;但團隊人數超過必定數量時,規範的做用就顯現出來了。舉個例子,拿代碼風格規範來講,有些人喜歡用兩個空格縮進,有些人喜歡用四個空格縮進,若是這兩我的合做寫一個項目,即便嘴上不說,內心也會相互吐槽。因此統一規範是很是有必要的,在制定規範前,你們能夠相互討論,提意見;規範制定後,全部人都得遵照,強制執行。前端
本文說的規範主要包括如下幾種:vue
代碼規範的好處java
每一個程序員都不喜歡修改別人的代碼,不管代碼好壞,由於第一眼看上去沒有熟悉感,下意識就會排斥。node
因此當團隊的成員都嚴格按照代碼規範來寫代碼時,能夠保證每一個人的代碼看起來都像是一我的寫的,看別人的代碼就像是在看本身的代碼。webpack
重要的是咱們可以認識到規範的重要性,並堅持規範的開發習慣。git
UI 規範須要前端、UI、產品溝通,互相商量,最後制定下來,建議使用統一的 UI 組件庫。程序員
制定 UI 規範的好處:github
項目結構規範包括文件命名、文件目錄組織方式,用 Vue 項目舉個例子。
├─public ├─src ├─tests
一個項目包含 public(公共資源,不會被 webpack 處理)、src(源碼)、tests(測試),其中 src 目錄,又能夠細分。
├─api (接口) ├─assets (靜態資源) ├─components (公共組件) ├─styles (公共樣式) ├─router (路由) ├─store (vuex) ├─utils (工具函數) └─views (頁面)
每一個前端團隊的項目命名及組織方式均可能不同,以上僅提供參考。
良好的 git commit 規範,讓人只看描述就能明白這個 commit 是幹什麼的,提升解決 BUG 的效率。
推薦閱讀: git commit 提交規範。
除了上述幾個規範,還有:
...
因爲篇幅有限,而且研究不深,就只能到這了。
規範制定下來了,如何保證執行?
基本上都得靠代碼審查以及測試人員測試,不過代碼規範有一個工具能用得上,那就是 vscode + eslint 自動格式化代碼。
推薦閱讀: ESlint + VSCode自動格式化代碼(2020)。
前端性能優化是一個老生常談的問題,網上關於性能優化的文章與書籍也有不少。我以前還寫過一篇關於 JavaScript 性能優化的文章。
性能優化包括代碼優化和非代碼優化。
...
...
推薦閱讀:
測試是前端工程化建設必不可少的一部分,它的做用就是找出 bug,越早發現 bug,所須要付出的成本就越低。
在前端測試中,單元測試和集成測試通常用得比較多,工具也有不少,例如 Karma + Mocha + PhantomJS / Chai 等。
可是自動化測試工具能夠說幾乎沒有,由於 UI 界面自動化測試太難了,目前只能靠人工測試。
得益於 node 和 webpack 的發展,自動化構建再也不是夢。經過 webpack 以及相關配置,一行命令就能夠作到下列全部事情:
自動化部署經過 Jenkins、Docker 等工具也能夠很方便的實現。
推薦閱讀:yumminhuang-如何理解持續集成、持續交付、持續部署?
性能監控
前端頁面性能是一個很是核心的用戶體驗指標,影響到了用戶的留存率,若是一個頁面性能太差,用戶等待時間過長,頗有可能就直接離開了。
錯誤監控
由於測試永遠沒法作到100%覆蓋,用戶也不會老是按照咱們所預期的進行操做,所以當生產環境出現 bug 時,須要對其進行收集。
監控是前端工程化建設中的最後一環,當項目上線後,經過監控系統能夠了解到項目在生產環境中的運行狀況,開發團隊能夠根據監控報告對項目作進一步的調整和優化。
目前市面上有大量成熟的監控產品可使用,對於沒有精力開發監控系統的團隊來講,能夠算是一個好消息。此前我還針對監控系統進行了一番調查和研究,並寫了一篇文章,對監控系統原理有興趣的能夠看一下,前端性能和錯誤監控。