2016-05-09 1 views
0

Liferay 6.2
Maven 3.3.9Liferay mvn build-css & sass @charset collés dans @import? : @charset ne peut être utilisé à la base d'un document

J'utilise Liferay-maven-plugin: 6.2.10.13: build-css pour compiler des fichiers SCSS à css .

mon main.css est:

@import url(base.css); 
@import url(application.css); 
@import url(layout.css); 
@import url(dockbar.css); 
@import url(navigation.css); 
@import url(portlet.css); 
@import url(extras.css); 
@import url(custom.css); 
@import "wip/main"; 

qui est un fichier main.css Liferay normal. Je viens d'ajouter l'import wip/main (qui est un fichier scss).

Mon fichier WIP/de main.scss est:

@charset "UTF-8"; 
///////////////////////////// 
// variables 
@import "app-var"; 
@import "app-mixins"; 

///////////////////////////// 
// maincontent 
@import "slider-banner"; 
@import "membership-box"; 
// more @imports... 

Et ça marche! Great :)

Maintenant, je veux préfixer tous mes WIP/règles de main.scss (qui sont importés à partir de fichiers différents) avec:

.aui { 

donc quelque chose comme:

@charset "UTF-8"; 

.aui { 
    ///////////////////////////// 
    // variables 
    @import "app-var"; 
    @import "app-mixins"; 
    // maincontent 
    @import "slider-banner"; 
    @import "membership-box"; 
} 

Mais alors j'ai l'exception:

Failed to execute goal com.liferay.maven.plugins:liferay-maven-plugin:6.2.10.13:build-css (default) on project wip-theme: null: MojoExecutionException: InvocationTargetException: (SyntaxError) @charset may only be used at the root of a document. -> [Help 1] 

Il suffit donc d'ajouter .aui { - APRÈS - la @charset "UTF-8"; bloque la construction.

Je parie que @charset est à tous @import copié les fichiers et ainsi .aui { est un @charset ... dire contenant, mais je ne sais pas si cela est le problème, et comment l'éviter.



Tout le monde connaît une solution de contournement? Merci

+0

Fonctionne-t-il sans charset dans le fichier principal et avec des jeux de caractères dans chaque partiels? – kasperoo

+0

Non. Avec mon fichier main.css n'ayant pas de jeu de caractères et une partie utilisant @Charset, j'ai la même erreur (car main.css encapsule mes importations partielles dans une autre classe) – Gonnarule

Répondre

0

J'ai fini par supprimer @charset de mes fichiers scss et de définir directement le codage de fichiers via mon IDE.

Jusqu'ici tout va bien. Btw il semble que c'est un problème maven (configuration ou similaire) car faire la même chose avec grognement (build grunt) ne causera aucun problème. Quoi qu'il en soit, je travaille sous maven si je supprime le @charset. Pas le meilleur, mais jusqu'à trouver mieux ...