2013-07-25 23 views
3

所以,我在這個項目中。我們有一個正在運行的應用程序,它對於我們所有的客戶端都是一樣的。唯一改變的是一點(純粹的)CSS。最大的問題是,對於每個頁面,我們都有一個CSS樣式表,並且對於每個客戶端,我們都有相同的表單,並進行了特定的更改。使用LESS編碼重複使用

我想減少冗餘代碼的方法,並開始在同一時間使用CSS預編譯器,以減輕我們的開發過程,如LESS。但是,我們有一些基本規則,它們是:

  • 代碼重構是一個壞主意,這是太多的代碼,這是不值得的
  • 最終的CSS文件大小不能得到更大,我們的網站有確實很重交通

我的第一個想法,就是寫一個預編譯器,使「推」表,像延伸的視圖,塊和東西(like this),然後寫的diff文件一個小腳本,並自動將其擴展,並創建一個只有差異的文件,如下所示:

/** @extends: site/Home/Test */ 

#square-test { 
    background: #C00; 
} 

但它似乎很複雜,有點凌亂。有人遇到過同樣的情況嗎?你們是怎麼處理的?有沒有人有另一個想法?

我非常感謝您的幫助。

編輯:

我使用常規LAMP,PHP 5.3.newer。

+0

如果你將在一段時間內開始工作並擴展這個代碼庫,那麼我認爲重構是一個好主意。僅僅因爲它令人生畏並不意味着它不應該被完成。重構您的代碼是您可以用來對付技術債務的最佳投資之一。 –

+0

你的服務器端環境是什麼?如果你使用ASP.NET,你可能會考慮使用T4文本處理器(但你會發現許多語言的實現)。 –

+0

@PaulSasik,讓我們說我得到「是」代碼重構。你會怎麼做? –

回答

0

您可以使用sass輕鬆地擴展或導入樣式表,然後您可以創建具有變量(如顏色,按鈕樣式或您需要的任何變體)的設置sass文檔。

@import "settings"; //site specific settings 
@import "allsites"; //styles for all sites 
//any site specific rules here 

http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#import

這是最前端框架的工作方式。他們有適用於所有設置的規則,以便輕鬆調整。