我可以在Windows中使用Sass和批处理脚本吗?

时间:2012-06-29 09:55:09

标签: ruby windows batch-file sass

在我本地计算机上的Web项目中,我使用了一个相当简单的Sass设置。 在同一个文件夹中,我有/scss/style.scss和/css/style.css

所以在我工作的时候运行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"

我认为它应该更整洁,并怀疑sass需要设置$ PATH。


编辑2:我使用以下说明为Ruby设置Path变量:http://groups.google.com/group/beginning-rails/browse_thread/thread/1c68665013a60081

就我而言,我需要添加的路径是C:\ Ruby193 \ bin 现在,当我在Web项目的根目录中创建脚本时,我需要的唯一一行是:

  

sass --watch scss / style.scss:css / style.css

如果我想要在计算机上的任何位置运行某些内容,我可以保留将目录更改为文件夹位置的部分。但是,脚本没有指定项目位置的事实意味着我可以将它复制到我使用相同结构的任何项目中。

值得努力吗?从长远来看,可能,是的。

2 个答案:

答案 0 :(得分:4)

只需将原始的两个命令放入批处理文件即可。所以.bat文件的内容是:

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

这很简单。像这样的批处理文件只是依次在每一行上运行每个命令,就好像你是单独输入每个命令一样。

答案 1 :(得分:2)

如果您尝试使用批处理文件更新多个css文件,请执行以下操作:

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

...但只执行第一个scss命令行,批处理文件永远不会完成,即你永远不会看到'完成',这就是为什么以及如何修复它:

scss实际上是一个错误的批处理文件,无法将控制权返回给批处理文件。我通过绕过scss批处理文件并运行ruby来解决这个问题,直接运行rubss和scss gem,如下所示:

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

你需要让你的路径指向红宝石,或在上面放一条绝对路径。