VSCode не будет работать с файловыми наблюдателями - PullRequest
0 голосов
/ 17 мая 2018

Я запускаю эту команду для просмотра файлов .scss node-sass-chokidar ./scss -o ./build --watch

Если я редактирую файл в блокноте ++, все работает нормально и файл компилируется.

Если я редактирую его в VSCode, то послеЯ сохраняю, это выдает эту ошибку:

{
  "status": 3,
  "message": "File to read not found or unreadable: E:/Clients/conversions/css/scss/mobile.scss",
  "formatted": "Internal Error: File to read not found or unreadable: E:/Clients/conversions/css/scss/mobile.scss\n"
}

Я обнаружил, что некоторые потоки говорят, что это вызвано атомарным сохранением, но разработчик VSCode говорит в потоке github, что VSCode не использует атомарное сохранение.Но затем в другом потоке он говорит, что переименовывает файлы, так что я думаю, что это может быть проблемой.

Кто-нибудь знает, как я могу это исправить и просто сохранить как обычно?

Ответы [ 2 ]

0 голосов
/ 18 августа 2019

уберите флаг -w и затем скомпилируйте его один раз, затем верните -w, теперь он будет работать

0 голосов
/ 18 мая 2018

У меня была такая же проблема. Поэтому я создал для него патч и отправил запрос на извлечение для node-sass: https://github.com/sass/node-sass/pull/2386

Проблема, похоже, в том, что VSCode все еще удерживает файл, пока node-sass пытается получить к нему доступ. Это исправление обнаруживает этот случай и применяет механизм повторных попыток.

Если вы хотите попробовать это сейчас, в качестве временной меры, вы можете исправить вашу локальную копию node-sass, заменив 'node_modules / node-sass / lib / render.js' на эту версию: https://github.com/marcosbozzani/node-sass/blob/bug-vscode-watch/lib/render.js

Разница здесь: https://github.com/marcosbozzani/node-sass/commit/266861bf5761dcafd5d53d123264b965c861887c#diff-a485abf5b8f49de7f313d7799df3faf4

...