2012-06-29 46 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正是我碰到的问题 - 谢谢! –