Я новичок в Sass (SCSS). В Sass я слежу за 7-1 pattern и в настоящее время использую Phpstorm в качестве IDE.
Я импортирую все свои файлы _<name>.scss в один основной файл с именем main.scss file.
Проблема
Я определяю свои цветовые переменные в файле _variables.scss, но когда я использую их в другом файле .scss, PhpStorm выдает ошибку, например
Element 'gutter-horizontal' (variable name) is resolved only by name without use of explicit imports more...
Я также привожу скриншот своей IDE, так что вы знаете структуру моей папки.
Я проверяю весь интернет, но не могу найти решения, это не повторяющийся вопрос этого вопрос ok !!
Когда я импортирую свой _variables.scss в свои файлы scss, ошибка исчезает.
Итак, мне нужно импортировать vaiables.scss во все мои файлы scss или я что-то не так сделал?
Я не понимаю, откуда эта проблема? Sass или PhpStorm?
переменные.scss
// COLORS
$color-primary: #55c57a;
$color-primary-light: #7ed56f;
$color-primary-dark: #28b485;
$color-gray-dark: #777;
$color-black: #000;
$color-white: #fff;
// GRID
$grid-width: 114rem;
$gutter-vertical: 8rem;
$gutter-horizontal: 6rem;
main.scss
@charset "UTF-8";
@import 'abstracts/variables';
@import 'abstracts/functions';
@import 'abstracts/mixins';
@import 'base/animations';
@import 'base/base';
@import 'base/typography';
@import 'base/utilities';
@import 'components/buttons';
@import 'layout/header';
@import 'layout/grid';
@import 'pages/home';
какая-то конкретная причина?
Это просто, чтобы вы знали. Пока вы не получите настоящую ошибку от SCSS, все готово. Ошибки даже нет, если вы используете такой редактор, как vsc
о, так что мне делать, чтобы решить эту ошибку в phpstorm, просто игнорировать?
Да, как я сказал
IDE не знает, что переменные из вашего _variables.scss будут использоваться в _grid.scss через ваш main.scss (потому что он используется косвенно). Вы можете прочитать немного больше в этом комментарии: youtrack.jetbrains.com/issue/…. Как упомянул Mikepote, эту проверку можно отключить.






Нет, вы все делаете правильно. Имейте один файл main.scss и убедитесь, что ваши переменные имеют значение первый, которое вы импортируете (иначе вы столкнетесь с проблемами неопределенных переменных в других файлах). Вам не нужно повторно импортировать свои переменные для каждого файла, если все они включены в ваш файл main.scss.
Обычно я игнорирую эту ошибку PhpStorm, или вы можете отключить ее:
File -> SettingsEditor -> Inspections на левой панелиSass/SCSS на правой панелиMissing import (или Resolved by name only в более старых версиях)братан, ты классный.
@NishargShah Удовольствие :)
У меня сработало, спасибо
Это плохая практика? как отключить проверку eslint?
@MaximeP Нет, я бы не считал это плохой практикой, я просто хочу предупредить вас, что PhpStorm не может разрешить файлы, необходимые для компиляции SASS. Это не имеет ничего общего со стандартами кодирования.
UPD 2021, теперь настройка называется "Отсутствует импорт"
В версии GoLand 2021 элемент Resolved by name only был переименован:
Preferences -> Editor -> Inspections -> Sass/SCSS (на правой панели)Missing Import.
Просто игнорируйте ошибку от PHPStorm