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不变