Миграция CRA на Webpack 5
Я пытаюсь перенести извлеченное приложение create-response-app на 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, оставив путь как undefined, поэтому я думаю, что это связано с конфигурацией CRA. Также я безуспешно следовал этому руководству https://webpack.js.org/migrate/5/
Песочница кода: https://codesandbox.io/s/musing-buck-shu04
Ценю любую помощь!
1 ответ
У меня такая же проблема. Эта ошибка возникает из
webpack-manifest-plugin
. Webpack 5 в настоящее время не поддерживается, но разработчики планируют добавить поддержку. Таким образом, вы можете изменить несколько строк в
default.config.js
output
раздел из:
output: {
// The build folder.
path: isEnvProduction ? paths.appBuild : undefined,
// blah blah blah
}
кому:
output: {
// The build folder.
path: paths.appBuild,
// blah blah blah
}
ошибка
The "path" argument must be of type string. Received undefined
исчезает. Но это все еще не работает для меня. У меня бесконечная загрузка в браузере. Я должен отладить его более внимательно и обновить ответ позже. Итак, я попытался удалить
webpack-manifest-plugin
из моей конфигурации, но он все еще не работает.