摘要:如何構建大型的前端項目搭建好項目的腳手架一般新開發(fā)一個項目時,我們會首先搭建好一個腳手架,然后才會開始寫代碼。組件化一般分為項目內的組件化和項目外的組件化。
如何構建大型的前端項目 1. 搭建好項目的腳手架
一般新開發(fā)一個項目時,我們會首先搭建好一個腳手架,然后才會開始寫代碼。一般腳手架都應當有以下的幾個功能:
自動化構建代碼,比如打包、壓縮、上傳等功能
本地開發(fā)與調試,并有熱替換與熱加載等功能
本地接口數據模擬
css 模塊化
檢查并自動矯正不符合規(guī)范的代碼,并優(yōu)化代碼格式
社區(qū)已有很多模板(boilerplate)或工具幫助我們搭建一個現成的腳手架,比如:
create-react-app
vue-cli
yeoman
html5-boilerplate
react-boilerplate
hackathon-starter
當然,如果這些模板或工具都不能滿足你的需求,你也可以搭建自己的腳手架,可以參考:
搭建自己的前端腳手架
怎樣提升代碼質量
CSS 模塊化
css 的弱化與 js 的強化
本地化接口模擬、前后端并行開發(fā)
2. 定義好項目的目錄結構對于大型目錄而言,一個好的目錄結構是非常必要的。一個好的目錄結構應當具有以下的一些特點:
解耦:代碼盡量去耦合,這樣代碼邏輯清晰,也容易擴展
分塊:按照功能對代碼進行分塊、分組,并能快捷的添加分塊、分組
編輯器友好:需要更新功能時,可以很快的定位到相關文件,并且這些文件應該是很靠近的,而不至于到處找文件
可以參考 目錄結構優(yōu)化
3. 做好項目的組件化這里的組件化,并非框架層面的組件化,而是工程層面的組件化。
當一個項目中的不同的區(qū)塊需要共用同一段代碼,或者不同項目之間需要共享同一個組件的時候,就需要做組件化了。
組件化一般分為項目內的組件化和項目外的組件化。
項目內的組件化是,同一個項目內不同區(qū)塊共用的代碼可以提取出來為一個多帶帶的組件。
項目外的組件化是,跨項目間共享的代碼可以提取出來為一個多帶帶的項目,然后如正常的 npm 包一樣使用。
可以參考:
組件化
私有 npm 倉庫
4. 封裝團隊的構建工具對于多項目而言,不管使用 webpack 還是 rollup 來打包項目,都會面臨一些問題:
不同項目有不同配置文件,更新配置需要到處改,而且很難保持一致
如果有項目的升級,不同區(qū)塊可能會有不同的配置
這個時候,把配置文件封裝成一個項目,然后使用版本化的方式管理,如正常的 npm 包一樣使用,就會很方便了。
比如,我的項目都是使用 lila 來構建的。
5. 選好基礎 js 框架、ui 框架、頁面模板開始開發(fā)前,需要先選好基礎 js 框架,比如 react、vue、angular、jquery 等,因為一旦選定,基本上后面都不能更換了,因為更換的成本太大了。
選好基礎 js 框架后,可以選一個比較好的 ui 框架,這樣可以少寫很多代碼,可以參考 前端最受歡迎的 UI 框架。
如果頁面的定制化程度不高,可以選擇一個比較好的頁面模板,比如:
AdminLTE
vue-element-admin
gentelella
ngx-admin
ant-design-pro
6. 測試一般前端測試分以下幾種:
單元測試:模塊單元、函數單元、組件單元等的單元塊的測試
集成測試:接口依賴(ajax)、I/O 依賴、環(huán)境依賴(localStorage、IndexedDB)等的上下文的集成測試
樣式測試:對樣式的測試
E2E 測試:端到端測試,也就是在實際生產環(huán)境測試整個應用
一般會用到下面的一些工具:
jest
enzyme
cypress
selenium
puppeteer
另外,可以參考 聊聊前端開發(fā)的測試。
7. 持續(xù)集成構建與測試一般大型工程的的構建與測試都會花很長的時間,在本地做這些事情的話就不太實際,這就需要做持續(xù)集成構建與測試了。
持續(xù)集成工具用的比較多的:
jenkins
gitlab ci
jenkins 是通用型的工具,可以與 github、bitbucket、gitlab 等代碼托管服務配合使用,優(yōu)點是功能強大、插件多、社區(qū)活躍,但缺點是配置復雜、使用難度較高。
gitlab ci 是 gitlab 內部自帶的持續(xù)集成功能,優(yōu)點是使用簡單、配置簡單,但缺點是不及 jenkins 功能強大、綁定 gitlab 才能使用。
另外,如果是開源項目,travis ci 是個不錯的選擇。
后續(xù)更多博客,查看 https://github.com/senntyou/blogs
作者:深予之 (@senntyou)
版權聲明:自由轉載-非商用-非衍生-保持署名(創(chuàng)意共享3.0許可證)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/113989.html
摘要:如何構建大型的前端項目搭建好項目的腳手架一般新開發(fā)一個項目時,我們會首先搭建好一個腳手架,然后才會開始寫代碼。組件化一般分為項目內的組件化和項目外的組件化。 如何構建大型的前端項目 1. 搭建好項目的腳手架 一般新開發(fā)一個項目時,我們會首先搭建好一個腳手架,然后才會開始寫代碼。一般腳手架都應當有以下的幾個功能: 自動化構建代碼,比如打包、壓縮、上傳等功能 本地開發(fā)與調試,并有熱替換與...
摘要:首先我們得有一個主心庫,這個庫十分重要,里面沒有業(yè)務邏輯的代碼,主要是平時開發(fā)時所需要的所有腳本,以及的一些基本依賴。創(chuàng)建衍生庫因為我們所有項目圍繞主心庫而衍生出來的,所以衍生庫和主心庫的關心和關系一致。 如何工程化開發(fā)大型angular2項目(上篇) 前請?zhí)嵋?目前前端項目越來越復雜,管理一個前端項目需要考慮的方面越來越多,例如工具選擇、項目構建、代碼自動review工具、代碼打包上...
摘要:延伸閱讀學習與實踐資料索引與前端工程化實踐前端每周清單半年盤點之篇前端每周清單半年盤點之與篇前端每周清單半年盤點之篇 前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點;分為新聞熱點、開發(fā)教程、工程實踐、深度閱讀、開源項目、巔峰人生等欄目。歡迎關注【前端之巔】微信公眾號(ID:frontshow),及時獲取前端每周清單;本文則是對于半年來發(fā)布的前端每周清單...
摘要:所以前端工程師不僅僅是寫好頁面和做好兼容性。對前端工程師的技術能力也會帶來考驗。這里想要說的是,如果使用了,使用了服務端渲染,對于前端工程師的個人素質要求會比較高,因為需要處理很多服務端的問題。 背景 我們團隊有個項目由于開發(fā)時間較長,且是前后端雜糅的開發(fā)方式,維護成本很高,在線上暴露的問題很多。而且因為對接了公司一百多條產品線,每天都會接到大量的客訴和產品線反饋的問題。2017年11...
摘要:作為目前最熱門最具前景的前端框架之一,其提供了一種幫助我們快速構建并開發(fā)前端項目的新的思維模式。的新版本,的簡稱。的包管理工具,用于同一管理我們前端項目中需要用到的包插件工具命令等,便于開發(fā)和維護。 Vue.js作為目前最熱門最具前景的前端框架之一,其提供了一種幫助我們快速構建并開發(fā)前端項目的新的思維模式。本文旨在幫助大家認識Vue.js,了解Vue.js的開發(fā)流程,并進一步理解如何通...
閱讀 2154·2021-11-12 10:36
閱讀 2147·2021-09-03 10:41
閱讀 2761·2021-08-19 10:57
閱讀 1230·2021-08-17 10:14
閱讀 1486·2019-08-30 15:53
閱讀 1209·2019-08-30 15:43
閱讀 975·2019-08-30 13:16
閱讀 2983·2019-08-29 16:56