2012-05-23 43 views
11

我正在使用Compass + Sass來管理/合併我的.css文件。所以,我有以下文件夾結構:如何讓羅盤同時觀看幾個文件夾?

Root 
--Module 
----css 
----sass 
--Module 
----css 
----sass 
--Module 
----css 
----sass 

在這裏,我想什麼來實現的:在開發階段,我想指出指南針,我的根文件夾,並應注意有無定位在文件中的任何改變sass目錄(每個Module)。一旦.sass文件中的一個發生更改 - 應生成相應的.css文件(對於更改模塊.sass所屬的文件),並將其放入css文件夾下的相同Module

可能嗎?

我的猜測我應該使用config.rb爲此目的,但我不知道如何正確地做到這一點。有人可以指點我的解決方案,或只是描述如何做到這一點的一般想法?

編輯:我在Windows環境中,所以不能使用Linux命令(我可以安裝Cygwin,但我寧願避免它)

感謝

+0

你有沒有嘗試添加的手錶到每個模塊夾?我很確定這是不可能的。 – markus

+0

是的,這正是我現在的解決方法 - 運行指南針的幾個實例 –

+0

你想寫一個答案嗎? – markus

回答

3

唯一的解決辦法我發現是運行幾個Compass實例 - 每個模塊一個。我敢打賭,通過調整Compass源代碼可能會有更優雅的解決方案,但不幸的是,我對Ruby還不熟悉。

+4

如果您只想添加其他來源以便同時觀看,但只有一個編譯目標,那麼您可以使用'add_import_path'將其他來源添加到config.rb中。 – markus

+1

Grunt +指南針觀看多個文件夾:http://stackoverflow.com/questions/20661596/running-multiple-compass-sass-watch-operations-automatically –

4

我有我的文件夾結構,不同的設置:

  • 資產
    • 青菜
      • 模塊
        • _module1.scss
        • _module2.scss
        • _module3.scss
      • screen.scss
    • 樣式表
      • screen.css
    • config.rb

screen.scss:

@import "modules/module1"; 
@import "modules/module2"; 
@import "modules/module3"; 

config.rb:

... 
css_dir = "stylesheets" 
sass_dir = "sass" 
... 

在模塊名稱開頭的下劃線意味着他們將不會被編譯成單獨的css文件。導入語句將它們組合起來,這樣所有的css最終都會結合在screen.css中。請注意,在導入語句中,您不需要下劃線或.scss。

如果你想維護個別的css文件(這是你建議你想做的),你可以稍微修改這個結構。刪除下劃線,指南針將創建單個文件。

  • 資產
    • SASS
      • 模塊
        • module1.scss
        • module2.scss
        • module3.scss
      • screen.scss
    • 樣式表
      • 模塊
        • module1.css
        • module2.css
        • module3.css
      • screen.css
    • config.rb

在這種情況下,你不需要任何import語句在screen.scss,因爲每個單獨的文件將需要在HTML文檔中單獨包括。

在這兩種情況下,您都會在資產文件夾中運行一次「羅盤監視」。請注意,您不需要在樣式表目錄中創建任何內容。指南針將做到這一點。

1

在您的config.rb文件中使用additional_import_paths或更簡單的add_import_path

additional_import_paths字符串數組您的系統上的其他路徑從中導入sass文件。

add_import_path調用此函數可將路徑添加到指南針項目的sass導入路徑列表。例如:add_import_path "/Users/chris/work/shared_sass"

this answer關於如何使用add_import_path

源示例: http://compass-style.org/help/documentation/configuration-reference/