2014-10-09 89 views
5

在我的Gruntfile中我使用的是cssmin(grunt-contrib-cssmin)任務。類似於:避免Grunt cssmin任務刪除重複的條目

cssmin: { 
    css : { 
     src: "dist/styles.css", 
     dest: "dist/styles.min.css" 
    } 
} 

問題是:styles.css是使用連接大量.css文件的concat任務生成的。在一些文件中,我有相同的CSS選擇器(例如:.panel a) 只有第一個選擇器保留在cssmin任務中,所有其他選擇器都被刪除。我想這是任務的默認行爲。有沒有辦法保持重複的選擇器?

+2

但不是cssmin的地步?你爲什麼要保留它們? – jgillich 2014-10-09 15:08:14

+0

@ jgillich因爲任務連接了一些供應商的CSS,我必須重寫一些規則/選擇器。 – 2014-10-09 15:28:16

+0

但是,當它們在一個選擇器中合併時,它們不應該覆蓋現有的規則嗎?我猜想處理文件的順序可能很重要;回答您的問題,但似乎沒有任何方法可以關閉此行爲。 – jgillich 2014-10-09 15:44:13

回答

0

咕嚕cssmin對Node.js的模塊清理CSS的依賴。我建議在Grunt中使用clean-css API,並提供https://github.com/jakubpawlowicz/clean-css#how-to-use-clean-css-api的選項。

其中一個可用參數是;

advanced - set to false to disable advanced optimizations - selector & property merging, reduction, etc.

您對http://refresh-sf.com/這個選項發揮。如果你去textarea下面的'clean-css'選項卡,你可以啓用/禁用advanced來查看它的工作。

編輯:在咕嚕-的contrib-cssmin回購發行這是一個問題https://github.com/gruntjs/grunt-contrib-cssmin/issues/263