纔開始搞electron 在融合react 和electron 後本地node起服務運行看似一切都很完美,但是當我把react 打包到build文件下並
修改了main.js
mainWindow.loadURL(url.format({
pathname: path.join(__dirname, './build/index.html'),
protocol: 'file:',
slashes: true
}))
使用electron-builder 打包:build配置如下
"build": {
"appId": "com.XXX.app",
"directories": {
"output": "builder"
},
"win": {
"target": [
"nsis",
"zip"
]
}
},
可是運行後出現了
出現這種情況的兩種可能性:
1、html 文件裏面加載了file://這樣的本地文件
2、electron-builder 並沒有將我們build文件夾打包進去
研究後發現果然,electron-build 並沒有將build文件夾打包進去app.asar 文件裏
解決辦法:
"build": {
"appId": "com.wss.app",
"directories": {
"output": "builder"
},
"win": {
"target": [
"nsis",
"zip"
]
},
"files": [
"build/**/*",
"main.js",
"public/preload.js"
]
},
在build配置裏面加上files文件,意思是將你想打包的都寫在裏面。最重要的是main.js一定要在裏面。