2015-10-27 53 views
1

的構建系統我的問題是基於這樣一個問題:https://www.quora.com/How-do-Facebook-structure-their-CSS-class-names創建類名

的Facebook &谷歌使用某種構建系統的類名(由開發語義理解)轉換爲短名稱這是容易對帶寬從而創建一個壓縮的代碼。

那麼,我們該如何創建這個構建系統呢?如果只是改變PHP端的類名,它就是另一回事。但是,必須在CSS和Javascript兩側修改相同的類。那麼,在做這件事時我們如何保持一切完好?

類似於「._4q7-」和「._4q82」的類如果沒有構建系統,就可以使用。

我使用PHP,MySQL和JQuery的...

+0

[更少](http://lesscss.org/)和[薩斯](http://sass-lang.com/)? –

+0

Less和Sass是CSS預處理程序..我不認爲它們對您的HTML或JS代碼有任何影響... –

+0

我認爲混淆正在發生,因爲問題可能有點不清楚。 OP詢問上面提到的站點對於他們的構建者有什麼用處,或者如何讓構建者生成引用了正確'css'類的晦澀類名。 – Script47

回答

2

如果您使用咕嘟咕嘟,這似乎是在正確的道路上:

https://github.com/calebthebrewer/gulp-selectors

之間需要護理的選擇一致性CSS,JS & HTML。還提供處理自定義文件的功能,因此可以將其用於其他類型的視圖,而不是純粹的純HTML文件。

var processors = { 
    'css': ['scss', 'css'],  // run the css processor on .scss and .css files 
    'html': ['haml'],    // run the html processor on .haml files 
    'js-strings': ['js']   // run the js-strings plugin on js files 
}, 
ignores = { 
    classes: ['hidden', 'active'] // ignore these class selectors, 
    ids: '*'      // ignore all IDs 
}; 

gs.run(processors, ignores); 
+0

謝謝。但有一個問題。代碼寫在JS中。那麼,這是否意味着它僅在來到客戶端後才轉換爲短名?因爲它不會以這種方式提高性能。 –

+1

是的,它是用JS編寫的,因爲Gulp(Gulp.js)在Node.js上本地運行,但是一旦您在本地運行構建過程,就可以上傳要從服務器提供的結果文件。 – leuquim

+0

似乎是一個很大的任務..編寫代碼 - >構建它 - >獲取渲染結果 - >將新結果呈現給用戶...太多.. ty反正。 –