Ошибка предварительной компиляции Rails в CSS
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
строки, поэтому я не уверен, откуда этот номер строки.
Я предварительно компилирую на своей локальной машине, потому что прошлой ночью эта ошибка произошла при попытке производства миграция.
5 ответов
Если это ваше приложение.css тогда он скомпилирует весь ваш css в этот файл, поэтому есть вероятность, что проблема не в самом этом файле, а в файле, который он компилирует в него. Проверить код на отсутствие точки с запятой.
Я ненавидел эти ошибки, потому что они не предоставляют трассировку стека. Так что как только это произойдет, вы будете вынуждены проводить часы в поисках того, что запятой. Надеюсь, ребята из Rails скоро это исправят.
между тем, я нашел отличный способ обнаружить такие ошибки, передав их через ваш компилятор CSS или компрессор. В моем приложении мы используем SASS, поэтому я могу позвонить:
sass --style compressed --scss -C your_problematic_file.css
это скажет вам, есть ли какая-либо ошибка с этим файлом и номером строки. Тебе нужно бежать. это в каждом файле CSS, который может быть виновником.
в моем случае, это был лишний }
вокруг медиа-запросы.
Я согласен с @Digi_Cazter. Но та же ошибка может произойти из-за размещения недопустимых скобок, таких как
.someclass{
property: value;
}}
Я пропустил точку с запятой. Мой был оставлен в конце строки с объявлением "$ grayMediumLight". Возможно, это сэкономит кому-то 30 минут, которые я потратил.
рад, что вы нашли свою ошибку и исправили ее, но я хотел объяснить немного больше для других новичков, таких как я, которые, возможно, придется искать в другом месте для их исправления.
У меня просто была эта проблема, и для меня пример.стиль CSS.scss предварительно скомпилирован в пример.css in / public - и дополнительный"} " был добавлен в конце медиа-запроса -- in /public/example.css, хотя в /example не было ошибки.scss.в CSS
для всех, кто имеет эту проблему, сравните SCSS и CSS с чем-то вроде калейдоскопа, чтобы проверить любые синтаксические ошибки, ползущие во время вашей предварительной компиляции и устранения неполадок оттуда.