0

Liferay 6.2
Maven 3.3.9

我正在使用 liferay-maven-plugin:6.2.10.13:build-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 导入(这是一个 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... 但我不知道这是否是问题,以及如何避免它。



有人知道解决方法吗?谢谢

4

1 回答 1

0

我最终从我的 scss 文件中删除了 @charset 并通过我的 IDE 直接设置文件编码。

到目前为止,一切都很好。

顺便说一句,这似乎是一个 Maven 问题(配置左右),因为对 grunt(grunt build)做同样的事情不会导致任何问题。

如果我删除@charset,无论如何都在maven下工作。不是最好的,但直到找到更好的...

于 2016-05-11T09:01:34.990 回答