CSS中的Rails预编译错误

Posted

技术标签:

【中文标题】CSS中的Rails预编译错误【英文标题】:Rails precompile error in CSS 【发布时间】:2012-03-28 16:32:39 【问题描述】:
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 行,所以我不确定该行号来自哪里。

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

【问题讨论】:

谢谢,这正是问题所在,缺少分号。吸取的教训,我不知道所有内容都编译到该文件中。感谢一百万的信息。 没问题,很高兴它有帮助。如果您不介意将我的评论标记为已回答的其他人,我会将其作为答案。谢谢,编码愉快。 【参考方案1】:

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

【讨论】:

【参考方案2】:

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

同时,我发现了一种检测此类错误的绝佳方法,即通过您的 CSS 编译器或压缩器传递这些错误。在我的应用中,我们使用 SASS,所以我可以调用:

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

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

就我而言,它是围绕媒体查询的额外

【讨论】:

这很有帮助,但我仍然有问题。运行它似乎一切正常,但我收到错误!【参考方案3】:

我同意@Digi_Cazter。但同样的错误可能会发生,因为放置了无效的括号,如

.someclass
  property: value;

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

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

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

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

【讨论】:

以上是关于CSS中的Rails预编译错误的主要内容,如果未能解决你的问题,请参考以下文章

预编译时的 Rails 生产 bootstrap-sass 错误

Rails 预编译错误(无效的 UTF-8 字节序列)

rails and metronic - 资产预编译:SassC 错误,空间不足

如何加快 Rails 3+ 中的资产预编译?

rails 应用程序未启动,资产上的“ActiveSupport::Deprection”错误:预编译

ruby 调试rails资产管道js使用uglifier预编译错误