8
Invalid CSS after "}": expected selector or at-rule, was "}"
  (in /home/test/www/dispatch/app/assets/stylesheets/application.css)
(sass):364

上述错误是我的预编译中发生的错误,我无法找到问题所在。我尝试将文件重命名为application.css.scss,但我得到了相同的错误,但行号不同:405

让我难过的是这个文件只包含159行,所以我不确定那个行号来自哪里。

我正在本地机器上进行预编译,因为昨晚在尝试生产迁移时发生了这个错误。

4

5 回答 5

14

如果它是您的 application.css,那么它会将您的所有 css 编译到该文件中,因此问题可能不在该文件本身,而是在它正在编译的文件中。检查您的代码是否缺少分号。

于 2012-03-28T21:38:49.927 回答
3

我讨厌这些错误,因为它们不提供任何堆栈跟踪。因此,一旦发生这种情况,您将不得不花费数小时寻找那个分号。我希望 Rails 的人能尽快解决这个问题。

同时,我发现了一种很好的方法来检测这些错误,将它们传递给你的 CSS 编译器或压缩器。在我的应用程序中,我们使用 SASS,所以我可以调用:

sass --style compressed --scss -C your_problematic_file.css

这会告诉您该文件是否有任何错误以及行号。您需要在每个可能是罪魁祸首的 CSS 文件上运行它。

}就我而言,这是围绕媒体查询的额外内容。

于 2015-02-12T09:21:19.517 回答
2

我同意@Digi_Cazter。但是由于放置了无效的括号,可能会发生相同的错误,例如

.someclass{
  property: value;
}}
于 2013-12-30T15:20:20.053 回答
1

我错过了分号。我在声明“$grayMediumLight”的行的末尾被遗漏了。也许这会节省我花费的 30 分钟。

于 2013-11-01T03:17:26.233 回答
0

很高兴你发现了你的错误并修复了它,但我想为像我这样可能需要在不同的地方寻找修复的其他新手解释更多。

我刚刚遇到了这个问题,对我来说 example.css.scss 预编译为 /public 中的 example.css - 并且在媒体查询的末尾添加了一个额外的“}” - 在 /public/example.css 中,即使有/example.scss.css 中没有错误

对于遇到此问题的其他人,请将您的 SCSS 和 CSS 与 Kaleidoscope 之类的东西进行比较,以检查在预编译期间出现的任何语法错误并从那里进行故障排除。

于 2015-01-23T15:58:13.640 回答