Получи случайную криптовалюту за регистрацию!

Раз уж речь зашла в том числе про сторибук, то вот ещё 2 беды: | Валя читает ишью

Раз уж речь зашла в том числе про сторибук, то вот ещё 2 беды:

Двойная рекомпиляция в Storybook

Заметил, что после изменения в файле происходит две компиляции. Оказалось что всё очень просто: у вебпака есть опция watchOptions.aggregateTimeout. Эта настройка позволяет установить период, в рамках которого нужно накапливать изменения, чтобы не компилировать код слишком часто. В сторибуке она была выставлена на 10ms.

Во-первых, это достаточно бессмысленно, т.к. за такой короткий промежуток времени мы просто не успеваем внести изменения в редактор. Вебпак, например, по умолчанию использует 200ms.

Во-вторых, судя по всему, MacOS немного странно работает с файловой системой. На одно сохранение файла watch срабатывал 2 раза с разницой в ~160ms. Предполагаю, что изменение содержимого файла и изменение его аттрибутов — две разные операции. Это лишь догадка и не знаю существует ли такая проблема на винде и линуксе.

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

Я починил проблему вот таким пул-реквестом. Чтобы локализовать проблему, написал маленький плагин (буквально 4 строчки), можете глянуть в описании. А сам фикс уже доступен в v6.4.0-alpha.10.

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