很榮幸做爲前端專題講師參加2016年SDCC,與周愛民老師同臺,聽業界牛人的分享真是受益不淺。對我來講是第一次在如此規模的專題論壇上演講,全程緊張的要命,提早準備好的內容有不少由於緊張沒有講出來。這次參會最大的收穫不只僅是對本身的一次鍛鍊,更多的是瞭解前端行業的技術現狀和將來走向。
前端
個人分享主題是《基於webpack的前端工程解決方案》,ppt能夠在這裏下載。演講前對ppt有稍微的修改,與提交給CSDN的ppt稍有出入,可是並不影響總體內容。webpack
與其餘幾位演講嘉賓分享的內容相比,個人分享主題其實並無不少乾貨。主要的內容是講述本人自2016年4月份加入58到家,獨立承擔前端工程解決方案的探索和開發中的一些經驗和感想。更多的是對前端工程化理想模式的思考和探討。git
首先介紹58到家前端工程解決方案boi目前的模式:
github
上圖展現的是目前業內比較廣泛的前段工程解決方案,也是58到家目前階段所採用的。這套方案涵蓋了從項目初始到前端資源部署上線中的各個環節。boi以webpack爲構建核心,總體架構以下圖:
web
webpack能夠說是目前最流行的構建工具之一,功能全面穩定,可擴展性良好而且有龐大的社區資源。webpack的定位就是解決項目構建中的各類需求:
前端工程化
前端工程解決方案中,構建是核心環節,但並非惟一的環節,因此boi圍繞webpack打造的構建核心,同時提供了腳手架、本地服務器和本地部署功能:
服務器
boi提供了清晰的工做流,能夠很大程度上提升開發效率:
前端工程師
這套工做流存在一個致命的缺陷:提測和上線的文件存在必定的差別,而且build動做由開發者本地執行,若是存在多人協做的項目,必須存在一個彙總的開發者來執行代碼的merge和build。架構
因此上圖展現的本地工做流只是一種過渡的方案,並不嚴謹。工具
boi提供的功能幾乎都是本地可執行的,可是咱們對boi的目標定位是:
boi的腳手架、本地服務器能夠提升開發者本地開發的效率,功能開發完成以後,由部署到雲端的boi統一執行構建,搭配模擬真實環境的測試沙箱,保證測試文件和線上文件的高度統一:
以上方案只需build一次,且是面向生產環境的build。這樣就解決了測試和線上文件的不統一問題,可是仍然存在進步空間:本地&測試&線上,三個環境的代碼統一。
這也是對前端工程化理想模式的感想之一。其實前端工程師愈來愈向全能手的角色發展,包攬中間層和客戶端。這這樣的定位下,前端工程化的理想模式應該包含哪些環節呢?如下是我我的的一點感想:
固然,這只是一己之見,歡迎你們共同探討。
文中提到的boi會在後續的博文中陸續解析。