Не удается получить горячий загрузчик веб-пакетов для работы с React

Я пытался заставить рабочую версию горячего загрузчика веб-пакета сделать редактирование в реальном времени для разработки приложения. После изучения руководств и не имея возможности работать в режиме реального времени, я решил начать с нуля.

Я клонировал чистый репозиторий React Hot Loader и попытался использовать приложение Дэна Абрамова create-response-app. Я умею создавать оба приложения. Я получаю журнал в консоли, который говорит [WDS] Hot Module Replacement enabled но редактирование любых файлов не вызывает перезагрузки страницы или чего-либо в терминале. На этой странице устранения неполадок я подпадаю под эту категорию:

Я вижу "Горячая замена модуля [WDS] включена", но ничего не происходит, когда я редактирую App.js

Если вы используете Node 0.11.13, вы можете попробовать обновить до 0.12. Некоторые люди сообщили, что это помогло решить эту проблему. Также убедитесь, что ваши требования имеют тот же регистр имен файлов, что и файлы. Наличие App.js и dorequire('app') может отключить наблюдателя в некоторых системах.

OS X также имеет редко встречающуюся ошибку, которая приводит к тому, что некоторые папки "ломаются" в отношении мониторинга изменений файловой системы. Вот некоторые предлагаемые исправления.

Я посмотрел на эту часть руководства по устранению неполадок, но ничего не помогло.

Я использую npm v2.15.1 и узел v4.2.6 в Ubuntu 16.04.

1 ответ

Решение

Проблема была с наблюдателями на Ubuntu. На Ubuntu я попытался проверить dmsesg логи и он сказал мне, что ресурсы inotify были исчерпаны, и это не может быть использовано.

$ tail -f /var/log/dmesg 
(Nothing has been logged yet.)
tail: inotify resources exhausted
tail: inotify cannot be used, reverting to polling

Со страницы устранения неполадок реагировать горячий загрузчик:

Пользователи Ubuntu (и, возможно, другие): echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p,

Тогда горячий загрузчик работал как положено.

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