Наблюдатель за файлами WebStorm для компиляции SCSS с помощью Dart

Я узнал, что Sass переходит от компиляции с Ruby к Dart, как предлагает их главная страница - https://sass-lang.com/. Я выполнил описанные там шаги, получил компилятор Dart и действительно могу запустить команду, которую они предлагают - sass source/stylesheets/index.scss build/stylesheets/index.css, и успешно скомпилировать свой SCSS в CSS.

Проблема, с которой я сталкиваюсь, заключается в том, что я пытаюсь заставить WebStorm File Watcher сделать этот шаг за меня. Когда я настраиваю File Watcher, как показано на рисунке ниже:

Наблюдатель за файлами WebStorm для компиляции SCSS с помощью Dart

Затем при изменении моих файлов SCSS наблюдатель файлов действительно запускается, но говорит:

C:\tools\dart-sdk\bin\dart.exe --no-cache --update viewQuestions.scss:viewQuestions.css Unrecognized flags: cache, update

Process finished with exit code 255

Я попытался удалить флаги, но это привело к большему количеству ошибок, поэтому я прекратил попытки. Затем я отказался от идеи сделать это с помощью Dart и заново сконфигурировал его с помощью Ruby с теми же аргументами, что и на картинке ниже, которые работали отлично.

Наблюдатель за файлами WebStorm для компиляции SCSS с помощью Dart

Итак, мой вопрос: что я делаю не так, это просто Дарт, которому нужны другие аргументы, или мне не хватает чего-то большего.

pub.dartlang.org/packages/sass_builder мне подходит для проектов Dart. Однако он запускается как шаг сборки.
Günter Zöchbauer 10.05.2018 15:27

@ GünterZöchbauer Забыл упомянуть, я делаю проект Node и просто хотел локально скомпилировать свой SCSS

Maksim Dimitrov 10.05.2018 15:59

1) Запустите where sass, чтобы узнать, какая программа будет запускаться при запуске sass в терминале. Используйте эту программу в File Watcher. 2) Если dart.exe не найден - убедитесь, что путь к этой программе указан в переменной системной среды PATH.

LazyOne 10.05.2018 19:00

@LazyOne Это заставило его работать. Команда where sass показала мне, что это находится в C: \ ProgramData \ chocolatey \ lib \ sass \ tools, поэтому я выбрал это в FileWatcher. Добавил его в переменную Win10 ДОРОЖКА, и одно различие в аргументах FileWatchers заключалось в том, что он ожидал $ FileName $ $ FileNameWithoutExtension $ .css без «:» между ними, в отличие от Ruby. Спасибо!

Maksim Dimitrov 11.05.2018 00:05
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
2
4
2 510
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

На самом деле вам не нужно загружать отдельный Dart SDK, поскольку его предоставляет установщик Sass.

Похоже, вы уже следовали Инструкция по установке и, вероятно, теперь у вас установлен Sass для Windows в c:\tools\dart-sass, так что теперь у вас есть файл с именем c:\tools\dart-sass\sass.bat

Это то, что вы должны добавить в WebStorm в поле Tool to run on changes | Program (заменяя строку c:\tools\ruby....bat).

Я нашел этот sass.bat в C: \ ProgramData \ chocolatey \ lib \ sass \ tools, который я установил в настройках File Watcher. Теперь он возвращается: cmd.exe / D / C вызов C: \ tools \ dart-sdk \ bin \ sass.bat --no-cache --update viewQuestions.scss: viewQuestions.css 'dart.exe' не распознается как внутренний или внешний команда, действующая программа или командный файл. Процесс завершен с кодом выхода 1 Я также пробовал наивно переместить его в папку Дарта, но безуспешно.

Maksim Dimitrov 10.05.2018 18:16

Попробуйте снова установить Sass, используя метод Install Anywhere (Standalone). Загрузите dart-sass-1.3.2-windows-x64.zip по предоставленной ссылке. Разархивируйте его и извлеките на c:\tools. Убедитесь, что он работает, набрав c:\tools\dart-sass\sass.bat --version. Если это печатает 1.3.2, действуйте, как указано выше.

Richard Heap 10.05.2018 20:49

Кроме того, где вы можете взять опции --no-cache и --update? Кажется, что ни того, ни другого не существует.

Richard Heap 10.05.2018 20:59

--No-cache и --update были аргументами по умолчанию при открытии FileWatche Webstorm для SCSSr. Буут Win10 ДОРОЖКА var проблему решил, тем не менее спасибо за поспешный ответ!

Maksim Dimitrov 11.05.2018 00:08
Ответ принят как подходящий

Как предложил LazyOne, я нашел решение проблемы, выполнив следующие действия:

1) Выполнение команды "where sass", определение местоположения sass.bat.

2) Передача этого sass.bat в поле Программа наблюдателей за файлами WebStorm. Это было здесь C: \ ProgramData \ chocolatey \ lib \ sass \ tools \ sass.bat

3) Затем я последовал за https://www.java.com/en/download/help/path.xml и добавил папку bin Dart из C: \ инструменты \ дарт-SDK \ bin в системную переменную окружения Win10 ДОРОЖКА

4) Наконец, после небольшой настройки было обнаружено, что в поле аргумента наблюдателя за файлами строка должна быть $ FileName $ $ FileNameWithoutExtension $ .css без «:» между ними, в отличие от Ruby.

В конце концов, это сработало для меня SCSS compiles successfully

К сожалению, больше не работает: Error reading lstheme.scss: Cannot open file.. Процесс завершен с кодом выхода 66.

koseduhemak 12.10.2018 10:20

Это работает по назначению, но я не использовал sass.bat или задал переменную окружения. Единственное, на что мне нужно было указать, это sass.exe.

E Alexis MT 27.12.2019 02:54

Добавление к правильному ответу, удаление --no-cache в поле Аргумент у меня работает.

Добавление к правильному ответу: для тех, кто является пользователями Mac и еще не понял, это то, что сработало для меня:

  1. Установите dart sass инструкции здесь (ПРИМЕЧАНИЕ: вы можете сначала удалить ruby ​​sass: sudo gem uninstall ruby)
  2. Убедитесь, что dart sass работает правильно: sass path_to_file/your_sass_file.scss path_to_file/your_output_file.css
  3. В параметрах наблюдателя за файлами Webstorm установите ссылку "Программа" на: usr/local/bin/sass (здесь sass был установлен для меня по умолчанию)
  4. В качестве аргументов вы можете использовать: $FileName$ $FileNameWithoutExtension$.css (аргумент --update также работает, но --cache argument не принимается dart sass)

Другие вопросы по теме