将CRA迁移到Webpack 5

时间:2020-09-22 23:55:31

标签: webpack create-react-app webpack-5

我正在尝试将弹出的create-react-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应用程序上工作,而路径未定义,所以我认为它与CRA配置有关。另外,我没有遵循本指南https://webpack.js.org/migrate/5/

代码沙箱:https://codesandbox.io/s/musing-buck-shu04

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

我面临着同样的问题。由webpack-manifest-plugin引发此错误。目前不支持 Webpack 5 ,但需要维护者are planning来添加支持。 因此,您可以在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,但仍然无法正常工作。