才开始搞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一定要在里面。