Миграция CRA на Webpack 5

Я пытаюсь перенести удаленное приложение create-реагировать на Webpack 5 и столкнулся с этой ошибкой:

Failed to compile.

The "path" argument must be of type string. Received undefined

error Command failed with exit code 1.

Я думаю, что ошибка исходит от output.path, который по умолчанию из CRA не определен в разработке, я пытался установить для него пустую строку или абсолютный путь, и он не разрешится. Мне удалось успешно заставить Webpack 5 работать с приложением, отличным от cra, оставив путь неопределенным, поэтому я думаю, что это связано с конфигурацией CRA. Также я безуспешно следовал этому руководству https://webpack.js.org/migrate/5/

Песочница кода: https://codesandbox.io/s/musing-buck-shu04

Ценим любую помощь!


person Dmitriy    schedule 22.09.2020    source источник


Ответы (1)


Я сталкиваюсь с той же проблемой. Эта ошибка возникает из webpack-manifest-plugin. Webpack 5 в настоящее время не поддерживается, но сопровождающий планирует добавить поддержку. Таким образом, вы можете изменить несколько строк в разделе default.config.js output с:

 output: {
   // The build folder.
   path: isEnvProduction ? paths.appBuild : undefined,
   // blah blah blah
 }

to:

 output: {
   // The build folder.
   path: paths.appBuild,
   // blah blah blah
 }

Ошибка The "path" argument must be of type string. Received undefined исчезает. Но это все еще не работает для меня. У меня бесконечная загрузка в браузере. Я должен отладить его более тщательно и обновить ответ позже. Итак, я попытался удалить webpack-manifest-plugin из своей конфигурации, но это все равно не работает.

person EvgeniyRRU    schedule 05.11.2020
comment
Спасибо, эта ссылка полезна для отслеживания статуса - person Dmitriy; 10.11.2020
comment
привет EvgeniyRRU, даже у меня бесконечная загрузка в браузере как ты решил - person Sathvik Nasani; 07.03.2021
comment
Что ж, я просто отказался от CRA в пользу своей собственной конфигурации Webpack. - person EvgeniyRRU; 24.03.2021
comment
@SathvikNasani, я использовал ветку ниже, в которой есть все обновления, связанные с WP5, и исправлено несколько ошибок здесь и там, и вуаля, я могу запустить приложение в WP5 с помощью CRA: github.com/raix/create-react-app/tree/webpack5-update - person Kumar Lachhani; 21.04.2021
comment
@KumarLachhani, не могли бы вы поделиться исправлениями, которые вы сделали в ветке PR с веб-пакетом 5. Я могу запустить его, но также застрял с бесконечной загрузкой в ​​​​браузере и «запуском сервера разработки» в терминале. - person A1exandr; 19.05.2021
comment
@A1exandr, пожалуйста, выполните следующие шаги: 1) Оформите заказ на: github .com/raix/create-react-app/tree/webpack5-update 2) Извлеките приложение CRA 3) Обновите веб-пакет и его зависимости. Следуйте: webpack.js.org/migrate/5 4) Сравните package.json со своим и webpack5-update и выполните npm install, чтобы установить оставшиеся библиотеки. 5) Замените файл webpack.config.js из указанной выше ветки обновления webpack5 и замените его в своем приложении CRA. 6) Исправьте несколько известных ошибок в react-dev-utils в node_modules (пока официальное исправление не выйдет) - Дайте мне знать, если вам нужна помощь в исправлении, вы также можете использовать Google. - person Kumar Lachhani; 19.05.2021