2012-09-13 36 views
11

我想將一組.scss文件編譯爲不同的文件名。SASS/Compass可以將foo.scss編譯爲foo.min.css和foo.dbg.css嗎?

在開發中,我想編譯如。 foo.scssfoo.dbg.css(未註明並附帶評論)。在生產中,我想要例如。 foo.min.css(縮小)。

有沒有辦法告訴SASS/Compass目標擴展使用什麼?一個命令行開關? A config.rb選項?

編寫一個腳本,首先編譯,然後重命名文件看起來是一個不錯的選擇,因爲那樣我就不能有效地使用compass watch

(好吧,我可以編譯成兩個不同的輸出目錄,然後寫一個腳本,從那裏複製文件,感覺有點笨拙。)

更新:我工作圍繞這一問題通過編寫手錶代碼的簡化版本。當某些變化時,它會觸發重新編譯到兩個不同的輸出目錄,然後重命名並移動文件到位。

+0

我另一個例子我對你的*解決方法非常感興趣*!你能分享給我們嗎? – yckart

+1

您好@tuomassalo,如果您有機會發布它,我也對解決方法感興趣。 – mtpultz

回答

4

不,它不能。我在郵件列表中詢問了有關RTL樣式表的相同問題。 但是,您可以使用不同的'config.rb'文件運行指南針編譯。 嘗試compass compile -c debug.rb

UPDATE:指南針仍然不行,但是Gulp可以使用Sass和Compass觀看並生成多個目標css文件。請參閱https://github.com/Snugug/gulp-css-target/

+0

我不知道你是否可以在同一個項目上使用'compass watch'運行兩個終端。但如果可以的話,那麼你明白了;) –

+0

這仍然是真的嗎? – mtpultz

+0

@mtpultz如果有人試用它並報告更好的結果,我會很樂意更新這個答案。日誌歡迎:) –

2

您可以將此添加到您的配置中。

請參閱https://github.com/sbspk/Prepros/issues/38

require 'fileutils' 

on_stylesheet_saved do |file| 

    if file.match('.min') == nil 

    require 'compass' 

    Compass.add_configuration(
     { 
      :project_path => File.dirname(File.dirname(file)), 
      :sass_dir => File.basename(File.dirname(file)), 
      :css_path => File.basename(File.dirname(file)), 
      :output_style => :compressed 
     }, 
     'alwaysmin' # A name for the configuration, can be anything you want 
    ) 
    Compass.compiler.compile(File.dirname(file) + "/" + File.basename(file, '.css') + '.scss', File.dirname(file) + "/" + File.basename(file, '.css') + ".min.css") 

    end 

end 
6

我不能讓阿里Fattahi的答覆工作,因爲它扔了錯誤,所以我發現這對我的作品

http://h3r2on.com/2013/05/17/rename-css-on-compile.html

require "fileutils" 

on_stylesheet_saved do |file| 
    if File.exists?(file) 
    filename = File.basename(file, File.extname(file)) 
    File.rename(file, css_dir + "/" + filename + ".min" + File.extname(file)) 
    end 
end 
+0

謝謝!與Alireza的回答有同樣的問題。 – mtpultz

+1

這是正確的答案:) – numediaweb

+0

如果它在文件夾中不起作用。示例assets/scss/module1/module1.scss應該是assets/css/module1/module1.min.css,但會變爲assets/css/module1.min.css – vee

相關問題