1 筆記簡(jiǎn)介
1 原生ES6+開發(fā),除兼容庫(kù)外不引用任何三方庫(kù)
2 包括工程化,架構(gòu)設(shè)計(jì),數(shù)據(jù)Mock等常用前端開發(fā)模式與流程
3 賬號(hào)體系SDK,統(tǒng)一控制核心功能,對(duì)下游開放樣式定制
架構(gòu):
環(huán)境搭建--架構(gòu)設(shè)計(jì)、開發(fā)流程
公共、登錄、注冊(cè)、賬號(hào)設(shè)置、密碼找回
收獲:
1 加深對(duì)ES6+ 的理解
2 體會(huì)ES6+ 對(duì)開發(fā)效率,可維護(hù)性的提升
3 理解SDK開發(fā)過程,加深對(duì)前端整體開發(fā)流程的認(rèn)識(shí)
2 環(huán)境
瀏覽器支持程度:
最新版除模塊化外幾乎都支持; 歷史版本支持度一般,IE8,9仍然占有一定份額。
所需環(huán)境:工程化工具Webpack、編譯工具Bable、合適的腳手架工具
Webpack配置:
使用最廣泛的打包工具,用于支持模塊化開發(fā)。配合Bable-loader將ES6轉(zhuǎn)為ES5、壓縮合并等其他前端優(yōu)化。
Bable:
ES6實(shí)用化的核心:可以通過.babelrc配置文件進(jìn)行配置,與Webpack或Gulp打包工具配合,在瀏覽器引入Bable-polyfill轉(zhuǎn)換新的API
環(huán)境準(zhǔn)備:
使用html-bundler初始化項(xiàng)目,安裝必要的polyfill ,加入 gulp-file-include
3 需求分析與架構(gòu)設(shè)計(jì)
需求分析:
產(chǎn)品要怎樣的效果?技術(shù)要做哪些工作?技術(shù)指標(biāo)是什么?
產(chǎn)品要求:
包含登錄、注冊(cè)、找回密碼、信息設(shè)置和修改
支持PC和移動(dòng)端,各個(gè)子網(wǎng)站需要有自己的樣式
功能邏輯必須統(tǒng)一和同步
技術(shù)應(yīng)對(duì)
通過SDK的方式,統(tǒng)一開發(fā),功能和修改同步
支持PC和移動(dòng)端,因此包的體積要小,不能有依賴
SDK要包含全部業(yè)務(wù)邏輯,但不包含具體樣式,由下游業(yè)務(wù)方進(jìn)行自定義
技術(shù)指標(biāo)
兼容到IE8
大小不超過30KB
支持多種引用方式:直接引用,CommonJS,AMD
架構(gòu)設(shè)計(jì)
對(duì)外API接口的設(shè)計(jì);模塊的劃分與關(guān)聯(lián);模塊的具體實(shí)現(xiàn)與一般性套路。
暴露什么樣的接口?
(類:即構(gòu)造函數(shù),互相關(guān)聯(lián)的功能集合或存在內(nèi)部狀態(tài)的功能。
普通函數(shù):?jiǎn)我还δ芮覠o內(nèi)部狀態(tài)。
對(duì)象:無關(guān)聯(lián)的功能集合)
有哪些配置項(xiàng)?默認(rèn)值是什么?
模塊的劃分與關(guān)聯(lián):

如何編寫業(yè)務(wù)模塊?
init:初始化,用于接收參數(shù)和設(shè)置初始值
render:渲染
event:事件綁定