共计 837 个字符,预计需要花费 3 分钟才能阅读完成。
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 不变
正文完