4

我有一个从这个存储库开始开发的项目。我没有用他们的更新来更新我的应用程序,这是我应该做的,但我会根据我对新版本的需要来更新库。大约两周前,我更新了我的应用程序,包括他们的所有更新。我合并了所有冲突并修复了错误,直到一切按预期工作。

在该存储库中,他们更新到 webpack 3 并开始使用 dll 作为在开发过程中更快地构建应用程序的一种方式。我的问题是我无法构建我的 dll,我得到的错误是:Error: DllPlugin: supply an Array as entry. 这是一个最小的存储库https://github.com/hyalkaf/DLLPluginError,它是他们的 repo 的副本,但有一个额外的窗口。这个最小的 repo 没有太多额外的代码,除了几行来创建一个额外的窗口。

为了给出这个错误的上下文,这里是我认为在最小 repo 中相关的文件。

webpack.config.base:

entry: {
    bundle: './app/index.jsx',
    worker: './app/worker.jsx',
    reportImage: './app/reportImage.jsx'
  },

webpack.config.renderer.dev.js

entry: {
    bundle: ['react-hot-loader/patch', `webpack-dev-server/client?http://localhost:${port}/`, 'webpack/hot/only-dev-server', path.join(__dirname, 'app/index.jsx')],
    worker: ['react-hot-loader/patch', `webpack-dev-server/client?http://localhost:${port}/`, 'webpack/hot/only-dev-server', path.join(__dirname, 'app/worker.jsx')]
  },

webpack.config.renderer.prod

entry: {
    bundle: ['babel-polyfill', './app/index.jsx'],
    worker: ['babel-polyfill', './app/worker.jsx']
  },

然后我有一个额外的 html 文件,名为 worker.html 以及 app 目录下的 worker.js。我还在 main.dev.js 文件中添加了一个新窗口。

要重现错误,请 fork 或克隆 repo 并运行:npm run build-dll

可能/可能相关的 Github 问题:

  1. https://github.com/chentsulin/electron-react-boilerplate/issues/1199
4

1 回答 1

1

我不确定您是否在问问题,因为您链接到包含问题解决方案的帖子。

万一其他人偶然发现了这个问题,解决方法是将所有 entrys 括在括号中。

使用问题中提供的示例代码,webpack.config.base应相应地进行更改:

entry: {
    bundle: ['./app/index.jsx'],
    worker: ['./app/worker.jsx'],
    reportImage: ['./app/reportImage.jsx']
  },
于 2019-10-16T18:56:09.613 回答