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



Liferay 6.2
Maven 3.3.9

我正在使用liferay-maven插件:6.2.10.13:build-css将scss文件编译为css。

我的主.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 {-AFTER-@charset "UTF-8";就会破坏构建

我打赌@charset被复制到所有@import文件,因此.aui {包含一个@charset。。。但我不知道这是否是问题所在,以及如何避免它。



有人知道变通办法吗?感谢

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

到目前为止还不错。

顺便说一句,这似乎是一个maven问题(配置或其他),因为用grunt(grunt构建)做同样的事情不会引起任何问题。

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

最新更新