node.js - Vad är detta Electron Forge-FEL i Electrons mall (Typescript + Webpack)?
Jag installerade Electrons mall enligt Electron Forges sida.
npx create-electron-app my-new-app --template=typescript-webpack
Efter det, jag springer
npm run start
inuti my-new-app-mappen och följande felmeddelande dök upp i kommandofönstret
npm run start
> [email 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:
{}
Jag googlade det, men ingen har stött på samma fel. Jag kunde använda ovanstående mall utan felmeddelande för en vecka sedan. Så jag kopierade projektet som gjordes för en vecka sedan och körde det. Det lyckades. Men jag körde följande kommando
npm audit
Det finns 22 sårbarheter (3 måttliga, 19 höga). Fel är
got <11.8.5
Severity: moderate
och
minimatch <3.0.5
Severity: high
Det kunde inte fixas med npm audit fix och npm audit fix --force. Så jag fixade detta fel genom att skriva om package.json och package-lock.json. Sedan tog jag bort node_modules-mappen och körde npm install. Dessa sårbarheter är borta, men ovanstående problem dök upp igen när jag körde npm run start.
Jag tror att problemet är involverat i @electron-forge/plugin-webpack. Däremot vet jag inte hur man åtgärdar det.
Tack i förväg.
Svar #1
Fältet plugins, under config.forge-alternativ i package.json, genererades i följande struktur:
"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"
}
}
]
}
}
]
]
Ändra den strukturen till ett objekt med fälten name och 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"
}
}
]
}
}
}
]
