解决electron-forge在typescript+webpack下创建app不能加载ts的问题

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代码如下
解决electron-forge在typescript+webpack下创建app不能加载ts的问题
文章图片

所以其并不能正常的读出preload
【解决electron-forge在typescript+webpack下创建app不能加载ts的问题】解决方法如下
// preload必选为绝对路径,且其必选为打包后路径 const mainWindow = new BrowserWindow({ height: 600, width: 800, webPreferences: { preload: "D:\\***\\electron-app\\.webpack\\renderer\\main_window\\preload.js" } }); // package.json不变

    推荐阅读