2016-05-09 6 views
0

Liferay 6.2
Maven 3.3.9Liferay mvn build-css & sass @charset вставлен в @import? : @charset может быть использован только в корне документа

Я использую LifeRay-Maven-плагин: 6.2.10.13: встроенный CSS для компиляции SCSS файлов CSS ,

мой main.css является:

@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"; 

который нормальный Liferay main.css файл. Я просто добавил wip/main import (который является файлом scss).

Мой WIP файл/main.scss является:

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

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

И это работает! Отлично :)

Теперь я хочу префикс все мои правила WIP/main.scss (которые импортируются из разных файлов) с:

.aui { 

Так что-то вроде:

@charset "UTF-8"; 

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

Но то у меня есть исключение:

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] 

Так что добавление .aui { - после - @charset "UTF-8"; разбивает сборку.

Держу пари @charset копируется на все @import файлов и, таким образом, .aui { является содержащий @charset ... но я не знаю, если это проблема, и как ее избежать.



Кто-нибудь знает обходной путь? Спасибо

+0

Работает ли это без кодировки в основном файле и с кодировками в каждом партитуре? – kasperoo

+0

№ с моим main.css, не имеющим charset и частичным использованием @Charset, у меня такая же ошибка (поскольку main.css инкапсулирует мои частичные импорты в другом классе) – Gonnarule

ответ

0

Я закончил удаление @charset из моих scss-файлов и установил прямое кодирование файла через мою IDE.

Пока все хорошо.

Btw, похоже, это проблема с maven (настройка или так), так как выполнение этого же с grunt (сборка grunt) не вызовет никаких проблем.

В любом случае, работая под управлением maven, если я удалю @charset. Не самое лучшее, но пока не нахожусь лучше ...