Liferay mvn build-css& sass @charset粘贴到@import? :@charset只能在文档的根目录中使用

时间:2016-05-09 16:36:41

标签: maven sass liferay-theme liferay-6.2

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 ...但我不知道这是不是问题,以及如何避免它。



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

1 个答案:

答案 0 :(得分:0)

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

到目前为止一切顺利。

顺便说一下,这似乎是一个maven问题(配置等)因为使用grunt(grunt build)做同样的事情不会导致任何问题。

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