我在尝试将我的代码推送到 heroku 时遇到问题。我跑了:
RAILS_ENV=production bundle exec rake assets:precompile
得到这个错误:
Sass::SyntaxError: Invalid CSS after " color: #f19f4d;5": expected "{", was ";"
(sass):916
我知道我的 css 某处存在语法错误,但我已经检查了所有文件,但找不到这一行。有人可以告诉我是否有办法找到这条线或它可能在哪里。非常感谢!
最佳答案
如果您使用的是 Bootstrap,它依赖于 jQuery,因此您需要确保将其包含在您的应用程序样式表中,例如在文件顶部的 app/assets/stylesheets
中在任何 Bootstrap 包含或导入之前,您需要
//*= require jquery-ui
如果这不是问题,那么预编译由于某种语法错误而失败。首先通过对代码进行全文搜索来尝试在代码中出现任何 f19f4d
。如果你有一个基于 *nix 的系统,你可以从终端尝试其中一个,
如果你正在使用 git 版本控制
git grep f19f4d
或者只是
grep f19f4d
如果那没有成为罪魁祸首,那么它一定是第三方依赖项。你需要通过你的 css 中的任何包含。检查您的布局文件。你应该有类似的东西
<%= stylesheet_link_tag "application" %>
然后打开文件app/assets/stylesheets/application.scss
然后,您需要注释掉任何包含,然后将它们一一添加回来,直到找到导致预编译失败的库。您需要对每个布局和/或样式表执行此操作,直到找到导致问题的原因。
在每个样式表的顶部,您应该有一个包含列表,例如
@import 'bootstrap';
或者它们可能看起来更像这样:
//*= require jquery-ui
因此,要将它们注释为不加载,您可以在测试时将它们设为这样。
// @import 'bootstrap';
// require jquery-ui
如果你到处都有很多第 3 方的东西,你可能会遇到其他编译错误,但你必须在某个地方找到错误。
关于css - 检测 css 文件和 ruby on rails 中的语法错误。无效的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58275778/