25 ответов:
FYI: кажется, OS X может иметь папку поврежден и больше не отправлять
fsevents(гдеwatchpack/chokidar/ Finder использует) для себя и любых дочерних папок. Я не могу быть уверен, что это то, что случилось с вами, но это было очень неприятно для меня и коллеги.мы смогли переименовать поврежденную родительскую папку, а затем сразу же посмотреть события, как и ожидалось. См. это сообщение в блоге для получения дополнительной информации: http://feedback.livereload.com/knowledgebase/articles/86239-os-x-fsevents-bug-may-prevent-monitoring-of-certai
рекомендуемые исправления из приведенной выше ссылки:
- перезагрузка компьютера
- проверка диска и восстановление разрешений с помощью дисковой утилиты
- добавление папки в список конфиденциальности Spotlight (список папок, которые не индексируются), а затем удаление из него, эффективно заставляя переиндексация
- переименование папки, а затем, возможно, переименование ее обратно
- повторное создание папки и перемещение старого содержимого обратно в нее
первые два не работали для нас, не пробовали предложение Spotlight, и воссоздание не оказалось необходимым.
мы смогли найти корневую папку проблемы, открыв Finder и создавая файлы в каждой последующей родительской папке, пока один не появился сразу (так как Finder также получит обливание этой ошибкой). Виновником является самая корневая папка, которая не обновляется. Мы просто
mv' d это иmv' d он вернулся к своему первоначальному названию, а затем наблюдатель работал.не знаю, что вызывает коррупцию, но я просто рад, что есть исправление.
Если ваш код не перекомпилируется, попробуйте увеличить количество наблюдателей (в Ubuntu):
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -pИсточник:https://webpack.github.io/docs/troubleshooting.html
У меня была эта проблема при работе с WebStorm.
отключение Настройки - > Системные настройки - > "безопасная запись" решить это для меня.
нашел рекомендацию сделать так: Устранение Неполадок WebPack
добавление следующего кода в мой файл конфигурации webpack исправило проблему для меня, надеюсь, это поможет.
watchOptions: { poll: true }
просто добавить к возможным решениям: У меня была папка проекта внутри папки Dropbox, перемещение ее решило проблему для меня. (OS X)
одна проблема заключается в том, что если ваш путь не абсолютный, то такие вещи, как это произойдет. Я случайно установил
resolve.rootдо./вместо__dirnameи это заставило меня тратить много времени на удаление и повторное создание файлов, как парни выше меня.
при изменении fs.через inotify.max_user_watches as pointend out by César все еще не работает попробуйте использовать опрос вместо собственных наблюдателей, создав свой скрипт, как показано в docs или запуск webpack с
--watch --watch-pollпараметры.
Если вы используете Vim, вы должны попробовать установить backupcopy на Да, а не на авто по умолчанию. В противном случае Vim иногда переименует исходный файл и создаст новый, который испортит webpack watch:
https://github.com/webpack/webpack/issues/781
просто добавьте это в настройки vim, если это так:
set backupcopy=yes
обратите внимание, что если вы запустите webpack на виртуальной машине (Vagrant / Virtualbox) и измените свои файлы на хост-платформе, обновления файлов в общей папке могут не вызвать inotify на Ubuntu. Это приведет к тому, что изменения не будут подобраны webpack.
посмотреть: билет Virtualbox #10660
в моем случае редактирование и сохранение файла на de guest (в vi) вызвало запуск webpack. Редактирование на компьютере (в PhpStorm, Notepad или любого другого приложения) dit не запускает webpack, что бы я ни делал.
Я решил это с помощью бродяга-fsnotify.
У меня была такая же проблема на a .файл vue. Когда сервер перезагружен, все работало нормально, но при следующем сохранении он не перекомпилируется. Проблема была в пути к файлу импорта,который имел одну заглавную букву. Это очень трудно понять эту проблему, потому что все работает на перезагрузке сервера. Проверьте случае вашем пути.
Он не перекомпилировался для меня, но потом я понял / вспомнил, что webpack наблюдает за графом зависимостей, а не только за папкой (или файлами). Конечно, файлы, которые я менял, еще не были частью этого графика.
Йоу!!!! Чувствительность к регистру папок была моей проблемой. Мои кодовые вызовы require () имели все имена путей в нижнем регистре, но на самом деле каталоги имели в них заглавную букву. Я переименовал все мои каталоги в нижний регистр, и просмотр webpack работал мгновенно. YESssssssssssssss!!!!! _AckerApple
способ, которым я решил проблему, заключался в поиске ошибки капитализации в пути импорта. Папка в файловой системе имела строчную первую букву, путь импорта был прописным. Все скомпилировано нормально, так что это был просто веб-пакет часы включают проблему.
для меня создание папок и файлов в VS-коде было проблемой. Чтобы исправить это, я повторно клонировал свое РЕПО и на этот раз создал новые папки и файлы через командную строку вместо кода. Я думаю, что код развращал файлы по какой-то причине. Я видел приложение только что обновлено, так что, возможно, это новая ошибка.
У меня та же проблема. И я замечаю, что это не компиляция, потому что моя папка содержит какой-то символ(*). И с помощью старого плагина watcher, кажется, решить эту проблему. Добавьте эту строку в файл конфигурации webpack.
plugins: [ new webpack.OldWatchingPlugin() ]
возможное решение: изменение контекст в папке app.
у меня были все мои файлы конфигурации webpack в подпапке:
components/ webpack/ development.js app.jsна
webpack/development.js, setcontext: path.join(__dirname, '../')решить мою проблему.
попробовав несколько стратегий для решения этой проблемы, я просто сдался, но затем, решая другую проблему, я попытался снова и внезапно
--watchфлаг наконец-то работал.честно говоря, я не знаю, что конкретно заставило его работать, но после выполнения следующих шагов он просто начал работать:
1. Install most recent gcc version $ sudo port install gcc48 $ sudo port select --set gcc mp-gcc48 2. Install most recent clang version $ sudo port install clang-3.6 $ sudo port select --set clang mp-clang-3.6 3. Export variables holding the patch to C and C++ compiler $ export CC=/opt/local/bin/clang $ export CXX=/opt/local/bin/clang++возможно, во время установки этих пакетов какая-то зависимость просто добавила недостающую часть головоломки, которая знает...
надеюсь, что это поможет всем, кто борется там, чтобы заставить его работать.
Я добавляю еще один ответ, потому что я считаю, что это лучшее решение до сих пор. Я использую его каждый день и это круто! Просто установите эту библиотеку :
https://github.com/gajus/write-file-webpack-plugin
описание : Заставляет программу webpack-dev-server записывать файлы пакетов в файловую систему.
установка :
npm install write-file-webpack-plugin --save-dev
У меня была аналогичная проблема, ни webpack, ни rollup в watch mode ware не ловили изменения, которые я сделал. Я узнал, что это была в основном моя вина, как я менял модуль (.tsx file), который еще не был импортирован в любом месте приложения (например, приложение.ts, который является точкой входа), и я ожидал, что инструменты сборки сообщат об ошибках, которые я сделал там.
для меня удаление
node_modulesи делать npm install или yarn снова, чтобы установить все пакеты решили проблему
простое решение на MacOS заключается в следующем:
откройте два окна терминала в том же каталоге, в котором находится ваш проект.
в первом окне терминала выполните команду : webpack-смотреть
во втором терминале windows запускается: webpack-dev-server
Я пробовал много возможных решений, и это, кажется, самый надежный
дело в том, что webpack загружает скрипт из какого-то странного url: webpack:/// который кэшируется. Вы должны добавить версию в конце сценария, чтобы предотвратить кэширование:
main-compiled.js?v=<?php echo time()?>"
Comments