Конфиг Webpack в react-scripts-5 / cra и ошибка .default is not a function

13 апреля, 2022

Недавно, в одном из проектов переехал с react-script 4 на react-script 5. Версия Webpack поменялась соответственно.

И одна из библиотек начала выдавать ошибку .default is not a function

Дебажил я её несколько дней, это было целое расследование.

Сначала увидел, что ошибка возникает в файлах .cjs / .mjs. Логично что бы вебпак лез за .mjs, там ведь модули и нормальный экспорт, а не устаревший Common.js. Но вебпак лез за .cjs и экспортировал его как строку - название файла.

Что бы импорт .cjs проходил нормально, это расширение нужно добавить в Webpack - в babel loader, туда же где и .js, .ts, .mjs. Тогда импорт .cjs пройдёт нормально.

(Возможно где то я неправ и сделал неправильные выводы)

© 2024, Built with Gatsby