Version

electron: 18.2.0
electron-forge: 6.0.0-beta.63

Description

在应用preload.ts的时候,以下代码能够失常打包但并不能失常的加载到preload.ts文件。

// index.tsdeclare const MAIN_WINDOW_WEBPACK_ENTRY: string;const mainWindow = new BrowserWindow({    height: 600,    width: 800,    webPreferences: {      preload: MAIN_WINDOW_WEBPACK_ENTRY    }  })//package.json"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"                  }                }              ]            }          }        ]      ]

Solution

问题的本源在于package.json中的preload门路仅在打包过程中被应用
而打包后的index.js代码如下

所以其并不能失常的读出preload

解决办法如下

// preload必选为绝对路径,且其必选为打包后门路 const mainWindow = new BrowserWindow({    height: 600,    width: 800,    webPreferences: {      preload: "D:\\***\\electron-app\\.webpack\\renderer\\main_window\\preload.js"    }  });// package.json不变