安装 Webpack 5 时 preact build 不起作用

问题描述

我正在开发一个也使用 Webpack 的生产 Preact 应用程序。在该项目中,尝试从 npm 构建脚本运行 preact build <args> 失败。

之后,我使用 npx preact-cli create default preact-test 创建了一个最小的 Preact 应用程序,安装了 Webpack 5,现在 preact build 抛出以下错误,这与我试图重现的错误相同:

Cannot find module 'webpack/lib/MultiEntryPlugin'
Require stack:
- /Users/<my name>/projects/preact-test/node_modules/babel-esm-plugin/src/index.js
- /Users/<my name>/projects/preact-test/node_modules/preact-cli/lib/lib/webpack/webpack-client-config.js
- /Users/<my name>/projects/preact-test/node_modules/preact-cli/lib/lib/webpack/run-webpack.js
- /Users/<my name>/projects/preact-test/node_modules/preact-cli/lib/commands/build.js
- /Users/<my name>/projects/preact-test/node_modules/preact-cli/lib/commands/index.js
- /Users/<my name>/projects/preact-test/node_modules/preact-cli/lib/index.js

我看到一篇帖子说 Webpack 5 已经弃用了这个内部插件,但这是我在任何地方找到的最有用的信息。如果有人能解决此问题,我将不胜感激。

解决方法

在给了一天时间并用新鲜的眼光研究它之后,我发现这根本不可能; preact-cli 团队尚未迁移到 Webpack 5,也没有立即迁移的计划:https://github.com/preactjs/preact-cli/issues/1579