使用sass和compass配置文件的Play框架2是什么?

3
我正在使用scala和play框架2.1.1进行测试,希望使用compass插件“compass-normalizer”添加sass和compass样式表。对于sass部分,我正在使用jlitola插件
我已经成功使play与sass和compass配合使用,但是对于compass插件,我遇到了麻烦。我尝试将其加入作为ruby要求:
SassPlugin.sassOptions := Seq("--compass","-r","compass-normalizer")
这只是一次尝试,显然不起作用,因为normalizer需要已初始化的compass。但是,如果我有contrib.rb compass配置文件,则可以在终端上运行它:
sass #sassfile# --compass
按照这种思路,我尝试将contrib.rb文件添加到play项目中,但没有成功。我尝试将其添加到app、conf和project文件夹中,但在所有情况下都没有成功。
请问我做错了什么?
1个回答

1
看起来运行时只是使用“当前工作目录”(参见:https://github.com/jlitola/play-sass/blob/master/src/main/scala/SassCompiler.scala#L16)。这里使用了一个不太明确的隐式转换将Seq [String] => ProcessBuilder进行转换。
因此,您可能可以将contrib.rb文件放在默认目录中(应该是从中运行sbt的位置),然后让其正常工作。如果不行,根据JVM文档:
The default value is the current working directory of the current process, usually the     directory named by the system property user.dir.

那么您可以创建一个任务,在sbt中打印出这个东西,以查看它的内容:

TaskKey[Unit]("show-user-dir") := println(sys.props("user.dir")

你在最后一行缺少一个 )。另外需要知道的是如何从命令行运行这样的任务。你可以通过输入 "sbt show-user-dir" 或者(如果你使用 activator)"activator show-user-dir" 来实现。 - gijswijs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接