我在我們的Java應用程序中實現了Sass支持。由於我們已經有了wro4j(最新版本1.7.5),我決定將它的rubySassCss用作預處理器。我已經完成了所有配置,整個過程.scss文件都可以正常使用,直到我使用了一些更新的語法。Sass變量參數語法不適用於wro4j的rubySassCss
使用帶有3.2.0版Sass(http://sass-lang.com/documentation/file.SASS_CHANGELOG.html)的VIII 2012中引入的功能(即變量參數(「$ args ...」語法)和mixin聲明中的內容塊)時出現錯誤。
@mixin mix($arg...) {
font-size: 12px;
}
.class {
color: black;
}
例如當rubySassCss處理上述簡單.scss文件拋出:
2014-06-13 11:13:48,574 DEBUG [ro.isdc.wro.http.WroFilter] Exception occured
ro.isdc.wro.WroRuntimeException: org.jruby.embed.EvalFailedException: (SyntaxError) Invalid CSS after "@mixin mix($arg": expected ")", was "...) {"
at ro.isdc.wro.extensions.processor.support.sass.RubySassEngine.process(RubySassEngine.java:70)
at ro.isdc.wro.extensions.processor.css.RubySassCssProcessor.process(RubySassCssProcessor.java:59)
at ro.isdc.wro.model.resource.processor.decorator.ProcessorDecorator.process(ProcessorDecorator.java:89)
at ro.isdc.wro.model.resource.processor.decorator.LazyProcessorDecorator.process(LazyProcessorDecorator.java:49)
at ro.isdc.wro.model.resource.processor.decorator.ProcessorDecorator.process(ProcessorDecorator.java:89)
at ro.isdc.wro.model.resource.processor.decorator.ProcessorDecorator.process(ProcessorDecorator.java:89)
這不會讓我感到吃驚的是多少,如果不是事實,wro4j發行說明(https://code.google.com/p/wro4j/wiki/ReleaseNotes)明確規定他們實施的薩斯處理器3.2.1很久以前在第九2012:
版本1.5.0 日期:2012年9月27日
(...)
Issue523升級rubySassCss處理器3.2.1
任何人都可以告訴我,如果他們有同樣的問題或知道什麼可能會導致它?我真的很想利用這個可變參數語法。
這裏是我的pom.xml還有:
<dependency>
<groupId>ro.isdc.wro4j</groupId>
<artifactId>wro4j-core</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>ro.isdc.wro4j</groupId>
<artifactId>wro4j-extensions</artifactId>
<version>1.7.5</version>
</dependency>