@N-I

Элемент разрешён только по имени без использования импорта. Что это значит?

Появляется при добавлении переменных и не компилируется. Что это значит? И как использовать тогда переменные? Как нужно правильно делать?

7c801f04be47434a98d1b08884b69b49.png9f93a8145c6844458c95876b5ce71ac2.png
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
delphinpro
@delphinpro Куратор тега Sass
frontend developer
Это значит, что ваша IDE создала индекс всего кода проекта. И нашла в этом коде объявление данной переменной. Т.е вы ее где-то в другом файле объявили.
Но IDE не может гарантировать что вы подключили этот файл, вот и предупреждает.

Storm не умеет полностью парсить все вложенные в файлы импорты и смотрит только на то, что подключено в текущем sass файле явно.

Я как правило отключаю эту инспекцию, чтобы глаза не мозолила.

Если у вас не компилируется, значит вы не подключили нужный файл.

Например у вас есть
settings.scss
$myVariable: red;

block.scss
.block {
  background: $myVariable;
}


styles.scss
@import 'settings.scss';
@import 'block.scss';


вот если вы откроете файл block.scss - в нем storm будет показывать данное предупреждение.
Но т.к. все импорты корректные, стили скомпилируются нормально.

Но если вы в файле styles.scss забудете подключить settings.scss, то IDE по-прежнему будет показывать такое же предупреждение, но стили уже не скомпилятся.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы