2012-06-29 43 views
7

在本地機器上的Web項目中,我使用了一個相當簡單的Sass安裝程序。 在同一個文件夾,我有/scss/style.scss和/css/style.css我可以在Windows中使用Sass和批處理腳本

所以運行無禮,而我的工作我只是寫這在Ruby終端:

cd "C:\Users\Puppybeard\Documents\Aptana Studio 3 Workspace\Project Title" 
sass --watch scss/style.scss:css/style.css 

工作正常,但它有點麻煩,所以我想弄清楚如何做一個批處理腳本的等價物。 我嘗試了以下操作,但這是一場完全災難,而且我的電腦試圖打開無限量的Ruby控制檯。

cd "C:\Ruby193\bin" 
start ruby 
cd "C:\Users\Puppybeard\Documents\Aptana Studio 3 Workspace\Project Title" 
sass --watch scss/style.scss:css/style.css 
exit 

我想我需要做的是啓動Ruby在後臺運行,而不是打開Ruby exe。有誰知道如何,或者甚至是如何Ruby的工作?顯然,我是Sass,Ruby和批處理腳本的新手,所以你可以給我的任何洞察力將是一個很大的幫助,謝謝。


編輯:我得到了它這樣的

cd "\Ruby193\bin" 
sass --watch "C:\Users\Puppybeard\Documents\Aptana Studio 3 Workspace\Project Title\scss\style.scss:C:\Users\Puppybeard\Documents\Aptana Studio 3 Workspace\Project Title\css\style.css" 

我覺得應該是整潔,並懷疑青菜都需要有它的$ PATH設置工作。


編輯2:我設置爲Ruby Path變量,使用這些指令:http://groups.google.com/group/beginning-rails/browse_thread/thread/1c68665013a60081

就我而言,我需要添加路徑爲C:\ Ruby193 \ BIN 現在唯一的線我需要,當我有腳本的Web項目的根,就是:

青菜--watch SCSS/style.scss:CSS/style.css中

如果我想讓我的計算機上的任何地方都能運行,我可以保留將目錄更改爲文件夾位置的部分。但是,腳本沒有指定項目位置的事實意味着我可以將它複製到任何使用相同結構的項目中。

值得努力嗎?從長遠來看,可能是的。

+0

您可以使用Ruby CMD提示符,並運行'sass --watch'。 –

+0

我知道,那不是我要問的。 – daveyfaherty

回答

4

只需將您的原始兩個命令放入您的批處理文件即可。所以.bat文件的內容應該是:

cd "C:\Users\Puppybeard\Documents\Aptana Studio 3 Workspace\Project Title" 
sass --watch scss/style.scss:css/style.css 

那麼簡單。像這樣的批處理文件只是在每行上依次運行每個命令,就好像您每次單獨輸入一個命令一樣。

+0

嗯,我認爲如果我正確設置了Sass,那將是正確的答案。現在考慮爲它設置$ PATH。 – daveyfaherty

+1

您不需要Sass,只有Ruby。 Sass是一個Rubygem,所以如果Ruby和gem設置正確,可以在文件系統的任何位置運行sass命令。要檢查,請在\ Ruby193 \ bin中查找sass.bat文件。然後檢查以確保\ Ruby193 \ bin在您的路徑中。當你安裝sass時,運行它的可執行文件會自動安裝在Ruby的bin文件夾中,就像這樣。 –

+0

是的,這是路徑好吧。現在只需要一個命令!乾杯。 – daveyfaherty

2

如果你想更新一個批處理文件像這樣多個CSS文件:

scss A.scss ../CSS/A.css 
scss B.scss ../CSS/B.css 
echo Done. 

...但只有前SCSS命令行執行和批處理文件無法完成,即你永遠不會看到'完成',這裏是爲什麼以及如何修復它:

scss實際上是一個錯誤的批處理文件,無法將控制權返回給您的批處理文件。我繞過SCSS批處理文件和乳寧紅寶石固定這和它的SCSS寶石直接如下:

ruby C:/Ruby193/bin/scss A.scss ../CSS/A.css 
ruby C:/Ruby193/bin/scss B.scss ../CSS/B.css 
echo Done. 

你需要讓你的路徑指向紅寶石,或把一個絕對路徑之上。

+0

+1正是我碰到的問題 - 謝謝! –