2014-06-13 1 views
2

J'applique la prise en charge de Sass dans notre application Java. Comme nous avons déjà wro4j (dans la dernière version 1.7.5), j'ai décidé d'utiliser rubySassCss comme pré-processeur. J'ai tout configuré et tout le processus traite les fichiers .scss, jusqu'à ce que j'utilise une partie de la syntaxe plus récente. Je reçois des erreurs lors de l'utilisation des fonctionnalités introduites dans VIII 2012 avec la version 3.2.0 de Sass (http://sass-lang.com/documentation/file.SASS_CHANGELOG.html), c'est-à-dire les arguments variables (syntaxe "$ args ...") et le bloc de contenu dans les déclarations mixin.La syntaxe des arguments variables Sass ne fonctionne pas dans rubySassCss de wro4j

@mixin mix($arg...) { 
    font-size: 12px; 
} 

.class { 
    color: black; 
} 

Par exemple, le fichier .scss simples ci-dessus lancers francs lors d'un traitement par rubySassCss:

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) 

Cela ne me surprendrait pas que beaucoup, sinon le fait que les notes de version de wro4j (https://code.google.com/p/wro4j/wiki/ReleaseNotes) indique clairement ils ont mis en œuvre que le processeur Sass 3.2.1 il y a longtemps à IX 2012:

version 1.5.0 date de: 27 Sep 2012

(...)

Issue523 Mise à jour processeur à rubySassCss 3.2.1

Tout le monde peut me dire s'ils ont le même problème ou de savoir ce qui peut provoquer? J'aimerais vraiment profiter de cette syntaxe d'arguments variables.


Voici mon pom.xml ainsi:

<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> 

Répondre

1

On dirait que vous avez juste besoin de forcer SASS gemmes 3.2.1 Version. wro4j devrait forcer cela lui-même mais il semble que ce ne soit pas le cas (il utilisait la version 3.1.9 à la place). Quoi qu'il en soit, la solution consiste à ajouter ceci n'importe où dans votre fichier pom.xml:

<dependency> 
    <groupId>me.n4u.sass</groupId> 
    <artifactId>sass-gems</artifactId> 
    <version>3.2.1</version> 
</dependency> 
Questions connexes