Я пробовал запустить, webpack --watch
и после редактирования моих файлов JS автоматическая перекомпиляция не запускалась.
Я пробовал переустановить webpack
с помощью, npm uninstall
но он все еще не работает.
Любые идеи?
источник
Я пробовал запустить, webpack --watch
и после редактирования моих файлов JS автоматическая перекомпиляция не запускалась.
Я пробовал переустановить webpack
с помощью, npm uninstall
но он все еще не работает.
Любые идеи?
К вашему сведению: похоже, что в OS X папка может быть повреждена и больше не отправлять fsevents
(которую использует watchpack
/ chokidar
/ Finder) для себя и любых дочерних папок. Я не могу быть уверен, что именно это случилось с вами, но это очень расстраивало меня и моего коллегу.
Мы смогли переименовать поврежденную родительскую папку, а затем сразу же наблюдать за событиями, как и ожидалось. См. Это сообщение в блоге для получения дополнительной информации: http://feedback.livereload.com/knowledgebase/articles/86239-os-x-fsevents-bug-may-prevent-monitoring-of-certai
Рекомендуемые исправления по указанной выше ссылке:
Первые два у нас не сработали, предложение Spotlight не пробовали, и воссоздание не оказалось необходимым.
Нам удалось найти корневую проблемную папку, открыв Finder и создав файлы в каждой последующей родительской папке до тех пор, пока одна из них не появится немедленно (поскольку Finder также будет подвержен этой ошибке). Самая корневая папка, которая не обновляется, является виновником. Мы просто mv
изменили его и mv
вернули его первоначальное имя, а затем наблюдатель работал.
Понятия не имею, что вызывает повреждение, но я просто рад исправить это.
watchify
, ни один из шагов не помог мне, поэтому я использовал аргумент опроса. Многие люди передают аргументы в пользу просмотра вместо просмотра. Мой код выглядит так:watchify(browserify(config.src,{}), {poll:100});
npm install
так и переименование каталога - это очень интенсивные операции в том смысле, в котором реализован клиент синхронизации.Если ваш код не перекомпилируется, попробуйте увеличить количество наблюдателей (в Ubuntu):
Источник: https://webpack.github.io/docs/troubleshooting.html
источник
sudo sysctl -p
не работает на Mavericks. Есть новые идеи?ModuleConcatenationPlugin
. ПропускModuleConcatenationPlugin
позволяет продолжить просмотр./etc/sysctl.conf
напрямую? Изменение соотв. установить эту пару "ключ-значение"? (Если вы не можете найти команду для применения ad-hoc (sysctl -p
), чтоsudo sysctl -a | grep max_user_watches
Добавление следующего кода в мой файл конфигурации webpack устранило проблему для меня, надеюсь, это поможет. Не забудьте игнорировать папку node_modules, так как это убьет производительность HMR (горячая замена модуля):
источник
watch: true
может работать. Опрос - это постоянная проверка других программ или устройств одной программой или устройством, чтобы узнать, в каком состоянии они находятся, обычно чтобы увидеть, подключены ли они по-прежнему или хотят ли они общаться. Таким образом, настройкаpoll: true
позволяет webpack проверять состояние вашей программы, чтобы увидеть, были ли внесены какие-либо изменения или, по крайней мере, то, что я предполагаю, происходит.poll
параметр определяется watchpackУ меня возникла эта проблема при работе с WebStorm.
Отключение настроек -> Системные настройки -> "безопасная запись" решило эту проблему.
Нашел рекомендацию сделать это в: Устранение неполадок WebPack
источник
Просто чтобы добавить к возможным решениям: у меня была папка моего проекта внутри папки Dropbox, и ее перемещение решило проблему для меня. (OS X)
источник
Моя проблема была в чувствительности к регистру папок. В моих кодовых вызовах require () были все имена путей в нижнем регистре, НО в фактических каталогах была прописная буква. Я переименовал все свои каталоги в нижний регистр, и просмотр веб-пакетов работал мгновенно.
источник
Одна из проблем заключается в том, что если ваши имена путей не являются абсолютными, могут произойти такие вещи. Я случайно установить
resolve.root
на./
вместо ,__dirname
и это заставило меня тратить много времени удаления и повторного создания файлов , как выше меня , ребята.источник
Если изменение fs.inotify.max_user_watches, указанное Сезаром, по-прежнему не работает, попробуйте использовать опрос вместо собственных наблюдателей, создав свой сценарий, как показано в документации, или запустив веб-пакет с
--watch --watch-poll
параметрами.источник
Обратите внимание, что если вы запускаете webpack на виртуальной машине (Vagrant / Virtualbox) и меняете файлы на платформе хоста, обновления файлов в общей папке могут не запускать inotify в Ubuntu. Это приведет к тому, что изменения не будут приняты webpack.
видеть: Билет Virtualbox № 10660
В моем случае редактирование и сохранение файла в гостевой системе (в vi) запускало webpack. Редактирование его на хосте (в PhpStorm, Блокноте или любом другом приложении) НЕ запускает веб-пакет, что бы я ни делал.
Я решил это с помощью vagrant-fsnotify .
источник
vagrant-notify-forwarder
для большей магии перезагрузкуvagrant plugin install vagrant-notify-forwarder
сделал для меня постоянное решениеРаботай для меня в Laravel Homestead
источник
Обновления: удаление всего каталога и повторное клонирование git из репо решает мою проблему.
источник
Если вы используете Vim, попробуйте установить для резервного копирования значение «Да», а не значение по умолчанию «Авто». В противном случае Vim иногда будет переименовывать исходный файл и создавать новый, что может испортить работу часов webpack:
https://github.com/webpack/webpack/issues/781
Просто добавьте это в свои настройки vim, если это так:
установить резервную копию = да
источник
У меня была такая же проблема с файлом .vue. При перезапуске сервера все работало нормально, но при следующем сохранении перекомпиляция уже не производилась. Проблема заключалась в пути к файлу импорта, в котором одна буква была заглавной. Очень сложно понять эту проблему, потому что все работает после перезагрузки сервера. Проверьте регистр ваших путей.
источник
Для меня он не перекомпилировался, но потом я понял / вспомнил, что webpack следит за графом зависимостей, а не только за папкой (или файлами). Разумеется, файлы, которые я изменял, еще не были частью этого графика.
источник
Для меня проблемой было создание папок и файлов в VS Code. Чтобы исправить это, я повторно клонировал свое репо и на этот раз создал новые папки и файлы через командную строку вместо кода. Я думаю, что Код по какой-то причине испортил файлы. Я видел, как приложение только что обновилось, так что, возможно, это новая ошибка.
источник
У меня была аналогичная проблема: ни веб-пакет, ни свертка в режиме просмотра не улавливали внесенные мной изменения. Я обнаружил, что в основном это была моя ошибка, поскольку я менял модуль (файл .tsx), который еще не был импортирован нигде в приложении (например, App.ts, который является точкой входа), и я ожидал, что инструменты сборки сообщат об ошибках, которые я оттуда.
источник
Способ, которым я решил проблему, заключался в обнаружении ошибки капитализации в пути импорта. Папка в файловой системе имеет первую букву в нижнем регистре, путь импорта - в верхнем регистре. Все скомпилировано нормально, так что это была просто проблема с включением веб-пакетов.
источник
Также была эта проблема внутри виртуальной машины VirtualBox (5.2.18) Ubuntu (18.04) с использованием Vagrant (2.1.15) с синхронизацией rsync. Внезапно первая сборка работает отлично, но Webpack впоследствии не принимает во внимание изменения, даже с
fs.inotify.max_user_watches=524288
set. Добавлениеpoll: true
в конфигурацию Webpack тоже не помогло.vagrant-notify-forwarder
Работал только (vagrant-fsnotify по какой-то причине не работал), но затем перестройка произошла слишком быстро после сохранения файла на хосте, и я полагаю, что у rsync не было достаточно времени, чтобы завершить свою задачу (возможно, из-за количества синхронизированных каталогов внутри моего Vagrantfile?).Наконец, я снова заставил часы работать, увеличив также
aggregateTimeout
конфигурацию Webpack:Если это решение работает для вас, попробуйте снова уменьшить это значение, в противном случае вам придется подождать 10 секунд, пока сборка не перезапустится, каждый раз, когда вы нажимаете сохранить. Значение по умолчанию - 300 мс .
источник
В чем была причина в моем случае:
Похоже, что значение:
max_user_watches
in/proc/sys/fs/inotify/max_user_watches
влияет на webpackЧтобы проверить вашу фактическую стоимость
В моем случае было 16384, и этого все равно было недостаточно.
Я пробовал разные решения, например:
Но кажется, что даже если я изменил значение, когда я перезагрузил свой компьютер, он вернется к значению по умолчанию 16384.
РЕШЕНИЕ, если у вас ОС Linux (мой случай, у меня Manjaro):
Создайте файл:
sudo nano /etc/sysctl.d/90-override.conf
И заполните его:
fs.inotify.max_user_watches=200000
Вроде 200000 мне хватит.
После создания файла и добавления значения просто перезагрузите компьютер, и все будет в порядке.
источник
У меня такая же проблема. И я заметил, что он не компилируется, потому что моя папка содержит какой-то символ (*). И использование старого плагина наблюдателя, похоже, решает проблему. Добавьте эту строку в конфигурационный файл веб-пакета.
источник
Для меня удаление
node_modules
и повторная установка npm или пряжа для установки всех пакетов решило проблему.источник
Простое решение для MacOS следующее:
Откройте два окна терминала в том же каталоге, в котором находится ваш проект.
В первом окне терминала запустите: webpack --watch
Во втором окне терминала запускаем: webpack-dev-server
Я пробовал много возможных решений, и это кажется самым надежным
источник
webpack --watch
компилирует проект и сохраняет файлы на диск, что эквивалентно запускуwebpack
после каждого сохранения.webpack-dev-server
- это инструмент разработки, который компилируется в память и обслуживает контент как службу через http. В любом случае ваше предложение не является решением, поскольку скомпилированные файлы не будут записаны на диск, покаwebpack --watch
не будут работать, какВозможное решение: сменить контекст на каталог приложения.
У меня были все файлы конфигурации веб-пакета в подпапке:
Во
webpack/development.js
, сетcontext: path.join(__dirname, '../')
решил мою проблему.источник
Попробовав несколько стратегий для решения этой проблемы, я просто сдался, но затем, решая другую проблему, я попробовал еще раз, и внезапно
--watch
флаг наконец заработал.Честно говоря, я не знаю, что именно заставило его работать, но после выполнения следующих шагов он просто начал работать:
Может случиться так, что при установке этих пакетов какая-то зависимость просто добавила недостающий кусок головоломки, кто знает ...
Надеюсь, это поможет любому, кто пытается заставить его работать.
источник
Я добавляю еще один ответ, потому что считаю, что это лучшее решение на данный момент. Я использую его каждый день, и он потрясающий! Просто установите эту библиотеку:
https://github.com/gajus/write-file-webpack-plugin
Описание: заставляет программу webpack-dev-server записывать файлы пакета в файловую систему.
Как установить :
источник
Попробуйте перейти
--watch
на-d --watch
работал на меня
источник
Если это произошло внезапно в вашем проекте, это может решить проблему.
Возможно, каким-то образом файлы, которые отслеживали изменения вашего проекта, которые ищет веб-пакет, были повреждены. Вы можете создать их снова, выполнив простые шаги.
источник
Я столкнулся с этим вопросом, когда у меня была аналогичная проблема - оказалось, что веб-пакет не переупаковывался, даже при запуске webpack --config.
Я даже удалил bundle.js, и веб-страница все еще отображалась, как и до моих правок.
Для тех из вас, у кого такая же проблема, я, наконец, сделал опцию `` пустой кеш и жесткая перезагрузка '' в Chrome (щелкните правой кнопкой мыши кнопку перезагрузки с открытыми инструментами разработчика), и это помогло
источник
Я столкнулся с той же проблемой, пробовал много вещей, наконец, у меня сработали Chrome Clear Browsing Data на Mac .
Установлены следующие модули:
"browser-sync": "^ 2.26.7",
"browser-sync-webpack-plugin": "^ 2.2.2",
"webpack": "^ 4.41.2",
"webpack-cli": "^ 3.3.9"
источник
Проблема заключалась в различии между файлами .js и .ts. Зачем ?
При сборке проекта Visual Studio компилирует файлы машинописного текста в .js и .js.map. В этом нет необходимости, потому что webpack также обрабатывает файлы машинописного текста (с помощью awesome-typescript-loader). При редактировании файлов компонентов .tsx в Visual Studio Code или с отключенной опцией compileOnSave в tsconfig.json отредактированный файл ts не перекомпилируется, и мой веб-пакет обрабатывал неактуальный файл .js.
Решением было отключить компиляцию файлов машинописного текста в Visual Studio при сборке проекта. Добавить
в PropertyGroup вашего .csproj.
источник