在一个vue electron项目中需要做自动更新时尝试按照网上的配置做,卡在下面第四步(网上的项目大多是直接在packege.json直接添加build配置模块,但我在配置完后报错提示什么自从3.0后不支持build,在一篇简书文件上看见有在vue.config.js写electron-builder配置,虽然不涉及public配置,但我尝试写在这里发现可行,由此给同样bug的有缘人留一条捷径),跌跌撞撞,总算能完成需求。
总结一下步骤:
1、 npm install 无误
2、vue add electron-builder (在downloading 阶段有可能受网络影响失败 可在项目根目录下创建 .npmrc文件更换为淘宝的下载源,内容为:
ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/
),执行完这步会在我项目中src目录下存在一个background.js主线程文件(后续的electron-updater触发事件会写这里或者引入,其中响应事件逻辑我将在App.vue组件的生命周期中按需编写)
3、npm install electron-updater --save (有说全局有说局部,我用局部没问题)
4、在项目根目录下的vue.config.js文件(没有就自己创建创建)中添加electron-builder的publish关键配置,这步是为了生成latest.yml文件,electron-updater工作需要检测这个文件中的版本信息以及对应的下载.exe文件是哪个
pluginOptions: {
electronBuilder: {
nodeIntegration: true,
builderOptions: {
nsis: {},
asar: false,
"publish": [
{
"provider": "generic",
"url": "http://localhost:8081/dev/file/"
}
],
}
}
}
}
5、npm run electron:build 打包生成.exe 安装包和相应的latest.yml 文件,将其放入更新指定服务器路径(如上一步配置中的url必须和electron-updater更新代码中的url一致,且url仅需写到安装包的所在目录即可,不需要指明安装包)