成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

前端MVC手腳架

pekonchan / 2344人閱讀

摘要:前端手腳架項(xiàng)目地址構(gòu)建工具基礎(chǔ)庫(kù)這個(gè)項(xiàng)目類似,主要是用于記錄,以及考察現(xiàn)在比較流行的前端庫(kù)在實(shí)際開(kāi)發(fā)當(dāng)中的開(kāi)發(fā)體驗(yàn)。其中,構(gòu)建都是基于,支持語(yǔ)法但在中,只用到的模塊管理與析構(gòu)語(yǔ)法。

前端MVC手腳架

項(xiàng)目地址 https://github.com/lizzz0523/mvc-mode-seed

1.構(gòu)建工具

[x] webpack

[x] babel-loader

[x] babel-preset-es2015

[x] babel-preset-react

2.基礎(chǔ)庫(kù)

react+redux+fetch

[x] react

[x] react-dom

[x] react-redux

[x] redux

[x] redux-thunk

[x] isomorphic-fetch

angular

[x] angular

backbone+jquery

[x] backbone

[x] underscore

[x] jquery

react+jquery+bacon

[x] react

[x] react-dom

[x] jquery

[x] bacon

這個(gè)項(xiàng)目類似todomvc,主要是用于記錄,以及考察現(xiàn)在比較流行的前端庫(kù)在實(shí)際開(kāi)發(fā)當(dāng)中的開(kāi)發(fā)體驗(yàn)。

其中,構(gòu)建都是基于wepback+babel,支持es6語(yǔ)法(但在demo中,只用到es6的模塊管理與析構(gòu)語(yǔ)法)。

而基礎(chǔ)庫(kù)則分為四個(gè)不同實(shí)驗(yàn)組,其中前三個(gè),分別是:

代表_mvvm_模式的angular(類似的庫(kù)還有knockout,vue,avalon)

代表_virtual-dom_模式的react(加上了redux作為store管理)

代表傳統(tǒng)_mvc_模式的backbone(類似的庫(kù)還有ember)

而第四個(gè)實(shí)驗(yàn)組,是我在項(xiàng)目中使用react+redux的組合在開(kāi)發(fā)中小型項(xiàng)目時(shí),發(fā)現(xiàn)其學(xué)習(xí)成本和維護(hù)成本遠(yuǎn)大于其帶來(lái)的開(kāi)發(fā)體驗(yàn)上的提升,直白的說(shuō),就是把簡(jiǎn)單的項(xiàng)目復(fù)雜化了。

雖說(shuō)jquery已經(jīng)是上個(gè)時(shí)代的產(chǎn)物,不過(guò)說(shuō)句公道話,在中小型項(xiàng)目中,jquery還是王道,其通用性和靈活性都是得到充分的驗(yàn)證的。

既然react+redux在中小型項(xiàng)目中優(yōu)勢(shì)不出來(lái)(主要是redux造成的),那不如把react和jquery結(jié)合,而我采用的結(jié)合方式則是,大家耳熟能詳?shù)膉query插件模式。舉個(gè)簡(jiǎn)單的例子:

$.fn.pagination = function (options) {
    return this.each(function () {
        page(this, options);
    });
};

function page(elem, options) {
    ReactDOM.render(, elem);
}

而在業(yè)務(wù)則使用時(shí),就像正常使用jquery插件就可以了:

$("#page").pagination({
    page: 0,
    size: 15,
    total: 30
});

這樣對(duì)于不熟悉react的小伙伴,就正常的寫(xiě)jquery式的代碼就好,而有react經(jīng)驗(yàn)的,則可以使用react作為底層的dom操作工具。

而且這樣編寫(xiě)代碼,還帶來(lái)另外一個(gè)好處,就是不用整個(gè)頁(yè)面都使用react來(lái)生成,只在關(guān)鍵部件使用react。這是我在項(xiàng)目中一個(gè)很重要的經(jīng)驗(yàn)所得。在頁(yè)面元素中,其實(shí)有很大部分是和數(shù)據(jù)無(wú)關(guān),可以直接渲染的,例如一些表單、導(dǎo)航、confirm、alert、toast等。如果整頁(yè)都使用react來(lái)渲染,就會(huì)使得js文件異常的復(fù)雜,對(duì)于中小項(xiàng)目而言,這是不可接受的。

可能有些小伙伴覺(jué)得redux帶來(lái)的函數(shù)式編程,可以梳理頁(yè)面的數(shù)據(jù)流。單向數(shù)據(jù)流正是fb提出來(lái)的一個(gè)非常好的概念,我個(gè)人也很喜歡這樣函數(shù)式的開(kāi)發(fā)模式,所以最后我選擇性的引入了bacon這個(gè)著名的frp庫(kù),來(lái)代替redux處理數(shù)據(jù)流,不過(guò)由于把react隱藏在jquery插件后,函數(shù)式開(kāi)發(fā)似乎已經(jīng)沒(méi)有必然存在的理由的,這里引入只是作為一個(gè)demo,方便之后翻查。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/78378.html

相關(guān)文章

  • angularjs + requirejs 完整的手腳

    摘要:還記得一年半前轉(zhuǎn)向后端的那種無(wú)助的感覺(jué),獨(dú)自一人摸黑走路,學(xué)習(xí)各種前端知識(shí),走了不少?gòu)澛罚F(xiàn)在終于算是入門(mén)了前端我相信不少人也有我當(dāng)時(shí)同樣的無(wú)助,所以我在空閑時(shí)間整理了下所用到的知識(shí),便編寫(xiě)了一個(gè)手腳架,希望能給其他正學(xué)習(xí)前端的同學(xué)一些參考 還記得一年半前轉(zhuǎn)向后端的那種無(wú)助的感覺(jué),獨(dú)自一人摸黑走路,學(xué)習(xí)各種前端知識(shí),走了不少?gòu)澛罚F(xiàn)在終于算是入門(mén)了前端~我相信不少人也有我當(dāng)時(shí)同樣的無(wú)助...

    anyway 評(píng)論0 收藏0
  • 服務(wù)端渲染的React手腳。完美使用 React, Redux, and React-Router

    摘要:服務(wù)端渲染的手腳架這個(gè)啟動(dòng)包的設(shè)計(jì)是為了讓你使用一整套最新最酷的前端技術(shù),所有都是可配置,富特性,基于已經(jīng)提供代碼熱加載,使用預(yù)處理,單元測(cè)試,代碼覆蓋率報(bào)告,代碼分割等等更多。 Universal React Starter Kit 服務(wù)端渲染的React手腳架 這個(gè)啟動(dòng)包的設(shè)計(jì)是為了讓你使用一整套最新最酷的前端技術(shù),所有都是可配置,富特性,基于webpack已經(jīng)提供代碼熱加載,使用...

    zhouzhou 評(píng)論0 收藏0
  • 服務(wù)端渲染的React手腳。完美使用 React, Redux, and React-Router

    摘要:服務(wù)端渲染的手腳架這個(gè)啟動(dòng)包的設(shè)計(jì)是為了讓你使用一整套最新最酷的前端技術(shù),所有都是可配置,富特性,基于已經(jīng)提供代碼熱加載,使用預(yù)處理,單元測(cè)試,代碼覆蓋率報(bào)告,代碼分割等等更多。 Universal React Starter Kit 服務(wù)端渲染的React手腳架 這個(gè)啟動(dòng)包的設(shè)計(jì)是為了讓你使用一整套最新最酷的前端技術(shù),所有都是可配置,富特性,基于webpack已經(jīng)提供代碼熱加載,使用...

    RayKr 評(píng)論0 收藏0
  • 服務(wù)端渲染的React手腳。完美使用 React, Redux, and React-Router

    摘要:服務(wù)端渲染的手腳架這個(gè)啟動(dòng)包的設(shè)計(jì)是為了讓你使用一整套最新最酷的前端技術(shù),所有都是可配置,富特性,基于已經(jīng)提供代碼熱加載,使用預(yù)處理,單元測(cè)試,代碼覆蓋率報(bào)告,代碼分割等等更多。 Universal React Starter Kit 服務(wù)端渲染的React手腳架 這個(gè)啟動(dòng)包的設(shè)計(jì)是為了讓你使用一整套最新最酷的前端技術(shù),所有都是可配置,富特性,基于webpack已經(jīng)提供代碼熱加載,使用...

    DC_er 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

pekonchan

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<