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
...但我不知道这是不是问题,以及如何避免它。
有人知道解决方法吗?感谢
答案 0 :(得分:0)
我最终从我的scss文件中删除了@charset,并通过我的IDE直接设置了文件编码。
到目前为止一切顺利。
顺便说一下,这似乎是一个maven问题(配置等)因为使用grunt(grunt build)做同样的事情不会导致任何问题。
如果我删除@charset,无论如何都在maven下工作。不是最好的,但直到找到更好的...