我在grunt-contrib-sass / compass中遇到了以下问题:
(https://github.com/nex3/sass/issues/746)
编译:
.badge {
border: 1px solid black;
&-info {
background:blue;
}
}
错误:
Sass Error: Invalid CSS after " &": expected "{", was "-info {"
"-info" may only be used at the beginning of a compound selector.
我在系统上安装了最新的SASS版本(3.3.7)(Ubuntu 12.04.4 LTS),并在命令行中运行scss
上一个代码为DO的新文件。
然而,使用Grunt使用yo webapp
(Yeoman generator-webapp)创建一个新项目会出现上述错误。
有什么想法吗?
答案 0 :(得分:0)
正如@cimmanon所说,这可能是由于SASS和指南针之间的版本冲突造成的。
由于Compass使用它自己的SASS版本而且我使用的是grunt-contrib-compass(而不是SASS),而我的Compass版本是< 1 - 效果是我的系统上的3.3版本没有被使用。
在使用开箱即用的Yeoman发电机时注意这一点。
答案 1 :(得分:-1)
因此,当用3.3.6的SASS编译时,我得到:
.badge {
border: 1px solid black;
}
.badge-info {
background: blue;
}
但是使用3.2.19我会遇到同样的错误:
Invalid CSS after " &": expected "{", was "-info {"
"-info" may only be used at the beginning of a compound selector.
以这种方式使用后缀是一个相当复杂的历史,请参阅:A Change in Plans for Sass 3.3
因此,您的工具链中某处存在SASS版本问题。