Node-sass не будет работать при использовании флага --watch

У меня проблема с использованием флага «--watch» или «-w» при запуске node-sass. Я установил node-sass как devDependency и указал скрипт для запуска node-sass. Дело в том, что когда я запускаю скрипт без каких-либо флагов, все работает нормально, и код SCSS компилируется, но когда я добавляю флаг "--watch", он даже не компилирует исходный код и не обнаруживает никакого файла. изменения. Я провел много исследований и ничего не нашел. Я оставлю сценарии ниже и буду рад предоставить любую другую информацию, которая может помочь в решении этой проблемы.

Внутри package.json:

"scripts": {
    "compile:sass": "node-sass sass/main.scss css/style.css"
 }

Это отлично работает, когда я запускаю npm run compile:sass и получаю следующий вывод:

[email protected] compile:sass /Users/lucabarcelos/WebstormProjects/AdvancedCSS/Natours
node-sass sass/main.scss css/style.css

Rendering Complete, saving .css file...
Wrote CSS to /Users/lucabarcelos/WebstormProjects/AdvancedCSS/Natours/css/style.css

Но когда я меняю сценарий на это:

"scripts": {
    "compile:sass": "node-sass sass/main.scss css/style.css -w"
}

Я получаю этот вывод:

[email protected] compile:sass /Users/lucabarcelos/WebstormProjects/AdvancedCSS/Natours
node-sass sass/main.scss css/style.css -w

И он продолжает ждать изменений файла, но когда я действительно что-то меняю, вообще ничего не происходит.


person LucaLopes    schedule 07.11.2017    source источник
comment
ты пробовал node-sass -w sass/main.scss css/style.css   -  person marciojc    schedule 08.11.2017
comment
Я следую тому же курсу, и у меня была эта проблема, проблема была в пути к папке, из которой я запускал. путь к папке должен содержать только ЛАТИНУ и БЕЗ ПРОБЕЛОВ. используя виндовс 10   -  person DarkCrow10    schedule 01.05.2018


Ответы (2)


У меня была та же проблема с теми же натурами ;-), конечно. Это как-то связано с версией node-sass.

npm удалить node-sass --save-dev

Затем установите версию 4.5.3 с;

npm установить [email protected] --save-dev.

Если это не работает, проверьте https://github.com/jonasschmedtmann/advanced-css-course/blob/master/npm-fixes.md

person Graeme L    schedule 11.11.2017

Я столкнулся с точно такой же проблемой (также при выполнении проекта natours:)), и ни одно из вышеперечисленных решений не сработало для меня. Я также попробовал onchange средство наблюдения за файлами, и с этим тоже не повезло. Если у кого-то есть такая же проблема с просмотром файлов .scss, я публикую свое решение здесь. Что, наконец, помогло, так это комбинация chokidar и node-sass(node-sass-chokidar). Я следовал этому руководству, в котором пошаговое руководство о том, как выполнить настройку, и, наконец, это работает! Единственное, что я сделал по-другому, это то, что я использовал флаг -D, чтобы сохранить его как devDependency, а также не использовал флаг -o, потому что файл назначения вывода уже существовал.

Я использовал:

npm i node-sass-chokidar -D

потом

npm i autoprefixer chokidar-cli npm-run-all postcss-cli -D

Мои сценарии

"scripts": {
    "build-task:scss-compile": "node-sass-chokidar --source-map true sass/main.scss  css/style.css",
    "build-task:autoprefixer": "postcss css/*.css --use autoprefixer -d css",
    "sass:build": "npm-run-all -p build-task:*",
    "sass:watch": "chokidar 'sass/**/*.scss' -c 'npm run sass:build'",
    "dev": "npm-run-all -p sass:*"
  }

Затем вы можете запустить npm run dev или npm run sass:watch.

person FoteiniK    schedule 25.11.2018