前端框架設(shè)計師對老舊
網(wǎng)站改版建設(shè)前端關(guān)于Red Hat 代碼淺析。
網(wǎng)站建設(shè)公司的設(shè)計師都知道Redhat.com 是在 2014 年的秋天發(fā)布的,而深圳網(wǎng)站建設(shè)公司資深前端工程師是在當年的春天才加入這個已經(jīng)進行了多年的項目,因此盡管對項目發(fā)布時的代碼架構(gòu)非常熟悉,我卻沒什么機會對它做一些大的改動。這個項目涉及的范圍較廣,最后期限也迫在眉睫,這導(dǎo)致我花了很多時間趕手頭的工作,幾乎沒有時間思考手頭的工作是不是團隊真正需要的最佳方案。最后,這個網(wǎng)站發(fā)布了,從各方面來看都獲得了成功。用戶界面友好,網(wǎng)站加載流暢,而且?guī)缀鯖]有人認為該網(wǎng)站不引人入勝。但我還記得那個決定性的下午,我被問到:“我們的設(shè)計是如何模塊化的?我們希望能把主題的一小部分和其他公司網(wǎng)站共享。”我內(nèi)心忍不住暗暗笑了好一會兒。你看,我非常熟悉這個項目的所有標記、JavaScript 和 CSS,我也深知這個項目完全就是模塊化設(shè)計的反面教材。我們在這個主題上做了很多出色的工作,但是唯獨沒有考慮模塊化設(shè)計的問題。

老舊網(wǎng)站改版建設(shè)前端需要注意勿過多的依賴
如果有人想渲染我們樣式中的某一塊內(nèi)容,首先需要加載以下內(nèi)容。Bootstrap CSS:114KB(未壓縮)
其實網(wǎng)站本身沒怎么調(diào)用 Bootstrap 庫的代碼,但我們編寫所有 CSS 的前提條件都是 Bootstrap 已經(jīng)重置了基本樣式,所以一旦把這些樣式拿走,整個頁面就不能正常使用了。核心的網(wǎng)站CSS:500KB雖然一般來說,每塊內(nèi)容都有一個單獨的關(guān)聯(lián)文件,但這個文件絕不是這塊內(nèi)容的單一樣式來源。樣式不僅來源位置多樣,并且常?;谖恢煤晚撁娴念惐桓采w重寫。
老舊網(wǎng)站改版建設(shè)前端需要注意嚴重的位置依賴問題
這個項目所使用的標記命名方法都是按照內(nèi)容塊的層級順序自上而下添加的。我們有幾種不同的內(nèi)容塊類型,大部分樣式都有固定的作用域,只能在某個內(nèi)容塊內(nèi)重復(fù)使用。下面是一個極端的例子,在廣告圖版塊里有一個 H3 標簽:
.about-contact .hero1 .container >
section.features-quarter >
section.f-contact h3
網(wǎng)站建設(shè)公司認為這個樣式不僅被局限在一個頁面里(about-contact),而且我們還需要確認 features-quarter 部分是容器標簽的直接后代,這樣才不會不小心把樣式添加到其他部分的元素的后代上。這種自上而下的樣式命名方法意味著,每次修改我們都要寫一個更長、更具體的選擇器。同時,因為標記順序極為嚴格,每塊內(nèi)容都很難重排或替換。當然,我們可以抽出一個單獨的組件,并把它需要的所有樣式合并到一個單獨的文件里,但是這么做基本意味著完全重做這個組件里的 Sass 文件,而且這么做也并沒有真的實現(xiàn)標記的模塊化。于是,當我被問及我們的設(shè)計是如何模塊化的而且能不能把樣式分享給其他部門時,我只能說,如果要分享某部分,我們就需要重寫那部分的標記和 CSS,同時還得更新網(wǎng)站的標記。
我確信,這樣與最初設(shè)計方案背道而馳的提議,一定會使我的笑聲傳出這個房間。因此你就能理解,當他們居然不僅同意了,而且在新網(wǎng)站代碼被凍結(jié)的情況下還給我們幾周時間去構(gòu)建新系統(tǒng)的時候,我為什么如此驚訝了。所以,目前我們有了完整的設(shè)計、一個非常能干的開發(fā)團隊,還可以全權(quán)創(chuàng)建全新的模塊化、可擴展和可持續(xù)的設(shè)計系統(tǒng)。建好之后,新系統(tǒng)將成為一個有名的高負載的動態(tài)網(wǎng)站。我只想知道,我們什么時候可以開始?好了,
深圳網(wǎng)站建設(shè)公司本文關(guān)于“前端框架設(shè)計師對老舊
網(wǎng)站改版建設(shè)前端關(guān)于Red Hat 代碼淺析”經(jīng)驗與知識就分享到這里,如果您網(wǎng)站需要改版或者定制設(shè)計開發(fā),電話聯(lián)系我們客服,免費獲取報價以及設(shè)計方案。謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。