Version
electron: 18.2.0
electron-forge: 6.0.0-beta.63
Description
在应用preload.ts的时候,以下代码能够失常打包但并不能失常的加载到preload.ts文件。
// index.ts
declare 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不变
发表回复