1

我在 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.

我在系统(Ubuntu 12.04.4 LTS)上安装了最新的 SASS 版本(3.3.7),并scss从命令行在具有上述代码的新文件上运行 DO 工作。

但是,使用 Grunt 使用 (Yeoman generator-webapp) 创建一个新项目yo webapp会出现上述错误。

有什么想法吗?

4

2 回答 2

0

正如@cimmanon 友好评论的那样,这可能是由于 SASS 和 Compass 之间的版本冲突。

由于 Compass 使用它自己的 SASS 版本,而我使用的是 grunt-contrib-compass(而不是 SASS),而我的 Compass 版本 < 1 - 结果是我系统上的 3.3 版本没有使用。

使用开箱即用的 Yeoman 生成器时要注意这一点。

于 2014-05-29T12:33:47.603 回答
-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 版本问题。

于 2014-05-28T14:33:31.763 回答