Electron 模板(Typescript + Webpack)中的这个 Electron Forge 错误是什么?
2022-10-27
4368
我按照 Electron Forge 页面 安装了 Electron 的模板。
npx create-electron-app my-new-app --template=typescript-webpack
之后,我在
my-new-app
文件夹中运行
npm run start
命令窗口中弹出以下错误消息
$ npm run start
> [email protected] start
> electron-forge start
✔ Checking your system
✔ Locating Application
An unhandled rejection has occurred inside Forge:
Error: Expected plugin to either be a plugin instance or a { name, config } object but found @electron-forge/plugin-webpack,[object Object]
Electron Forge was terminated. Location:
{}
我用 Google 搜索了一下,但没有人遇到过同样的错误。 一周前,我可以使用上述模板而不会出现错误消息。因此,我复制了一周前创建的项目并运行。成功了。但是,我运行了以下命令
npm audit
有 22 个漏洞(3 个中等,19 个高)。 错误是
got <11.8.5
Severity: moderate
和
minimatch <3.0.5
Severity: high
无法通过
npm audit fix
和
npm audit fix --force
修复。因此,我通过重写
package.json
和
package-lock.json
修复了此错误。然后我删除
node_modules
文件夹并运行
npm install
。
这些漏洞已经消失,但在运行
npm run start
后,上述问题再次出现。
我认为问题出在
@electron-forge/plugin-webpack
上。
但是,我不知道如何修复它。
提前致谢。
3个回答
package.json 中
config.forge
选项下的 plugins 字段生成结构如下:
"plugins": [
[
"@electron-forge/plugin-webpack",
{
"mainConfig": "./webpack.main.config.js",
"renderer": {
"config": "./webpack.renderer.config.js",
"entryPoints": [
{
"html": "./src/index.html",
"js": "./src/renderer.ts",
"name": "main_window",
"preload": {
"js": "./src/preload.ts"
}
}
]
}
}
]
]
将该结构更改为具有
name
和
config
字段的对象:
"plugins": [
{
"name": "@electron-forge/plugin-webpack",
"config": {
"mainConfig": "./webpack.main.config.js",
"renderer": {
"config": "./webpack.renderer.config.js",
"entryPoints": [
{
"html": "./src/index.html",
"js": "./src/renderer.ts",
"name": "main_window",
"preload": {
"js": "./src/preload.ts"
}
}
]
}
}
}
]
Vinicius Bazanella
2022-10-27
修改插件语法只能在本地运行时解决问题。
如果使用
npm run make
导出包,它只会显示一个空白屏幕。
如果您遇到此类问题,请尝试 此处 的解决方案
Shanavas P S
2022-10-29
这是 Electron Forge beta 73 或该用户运行的任何版本中的问题 - 该错误现已修复
George Xu
2022-11-05