PhpStorm SCSS триггерная компиляция при частичном изменении - PullRequest
0 голосов
/ 04 июня 2018

Прежде всего я должен отметить, что все это работало хорошо некоторое время назад.Я вернулся к проекту через некоторое время.Тем временем я обновил PhpStorm и перешел на Win10.Все остальное осталось нетронутым.

У меня проблема с запуском scss-компиляции.Когда я делаю изменения в корневом файле «global.scss», все работает нормально - партиалы тоже компилируются.Однако при внесении изменений в партиалы PhpStorm не запускает компиляцию корневого файла.

Версия PhpStorm: 2017.2.3

Структура файла:

file structure

Конфигурация наблюдателя: watcher config

Конфигурация области:

scope config

global.scss

global.scss

Я много пробовал - ничего не работает.Похоже, что функции - префикс с подчеркиванием просто игнорируются наблюдателем файла.

РЕДАКТИРОВАТЬ: Я нашел что-то - кажется, что подстановочный знак в шаблоне области действия игнорирует подчеркнутые файлы.Однако частичные файлы помечены как включенные в дерево файлов.Я временно изменил область видимости для файлов проекта, и она работает хорошо - к сожалению, я не могу оставить этот параметр.

EDIT2: Я не знаю, является ли это ошибкой или функцией, но PhpStorm обрабатывает вложенные корни исходного кодастранным образом.Проверьте эту файловую структуру:

file structure

Без исходного корня для каталога scss компиляция запускается даже с шаблоном области видимости.Однако скомпилированный CSS находится в неправильном каталоге - поэтому он не может быть использован.

1 Ответ

0 голосов
/ 04 июня 2018

На основании вашей информации и исследования: вы используете вложенную папку "Source" (на scss) и $SourcepathEntry$ & связанный макрос ..., который, кажется, не работает так, как вы ожидали в вашей версии IDE.

Избавьтесь от этого - ваши настройки вообще не нужны.Структура вашей папки довольно стандартная, поэтому ее можно разрешить с помощью более «стандартных» способов.

  • Отключите этот File Watcher (сейчас вы можете удалить его позже) и создайте новый.
  • Там попробуйте $FileDirPathFromParent()$ параметризованный макрос (он принимает параметры). Например, для $FileDirPathFromParent(src)$ возвращает foo/bar для some/path/src/foo/bar/baz.scss пути к файлу.Этот макрос должен выполнять эту работу при создании необходимого пути.
...