国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Electron autoUpdater實現Windows安裝包自動更新的方法

2024-05-06 15:43:51
字體:
來源:轉載
供稿:網友

前言

Electron幫助我們突破瀏覽器的界限,通過Electron構建的桌面應用擁有各種瀏覽器應用夢寐以求的能力。

Electron提供的autoUpdater還可以幫助我們實現桌面應用的自動更新。

文件結構

首先,我們已經有了一個基于Electron做的應用,項目中有兩個package.json。這樣做的一個原因是將devDependencies和dependencies分開了,另外就是不需要在打包的時候再去指定哪些依賴不需要一起打到安裝包里面去了(通過ignore參數)。

目錄結構類似于這樣:

myapp  -node_modules  -package.json  -app    -js    -css    -index.html    -main.js    -package.json

外面的package.json內容類似于:

{ "name": "myapp", "main": "app/main.js", "scripts": {  "start": "electron ." }, "devDependencies": {  "electron-prebuilt": "^1.2.7" }}

里面的package.json的內容類似于:

{  "name": "myapp",  "version": "1.0",  "main": "main.js",  "description": "my app",  "scripts": {    "start": "electron ."  },  "dependencies": {}}

注意里面的package.json中的name,version,description是必填的,接下來打包會用到。

electron-squirrel-startup

為了使最后的安裝包能夠實現自動更新,我們需要對現有的應用做一些改動,使它可以處理一些啟動或者安裝時的事件。
我們可以在main.js里面加入一些處理的代碼或者方便起見,我們可以直接使用electron-squirrel-startup。

先安裝:

npm install electron-squirrel-startup --save

因為需要在main.js里面用到,我們需要將其安裝在app里面。

在main.js里面使用它,第一行加入如下代碼即可:

if (require('electron-squirrel-startup')) return;

有興趣的童鞋可以一起跟我去看看electron-squirrel-startup做了什么事情,急著打包的童鞋可以直接忽略這一段:

在myapp/app/node_modules/electron-squirrel-startup下面有一個index.js:

var path = require('path');var spawn = require('child_process').spawn;var debug = require('debug')('electron-squirrel-startup');var app = require('electron').app;  var run = function(args, done) { var updateExe = path.resolve(path.dirname(process.execPath), '..', 'Update.exe'); debug('Spawning `%s` with args `%s`', updateExe, args); spawn(updateExe, args, {  detached: true }).on('close', done);};  var check = function() { if (process.platform === 'win32') {  var cmd = process.argv[1];  debug('processing squirrel command `%s`', cmd);  var target = path.basename(process.execPath);    if (cmd === '--squirrel-install' || cmd === '--squirrel-updated') {   run(['--createShortcut=' + target + ''], app.quit);   return true;  }  if (cmd === '--squirrel-uninstall') {   run(['--removeShortcut=' + target + ''], app.quit);   return true;  }  if (cmd === '--squirrel-obsolete') {   app.quit();   return true;  } } return false;};  module.exports = check();            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 汽车| 文化| 醴陵市| 酒泉市| 金昌市| 永春县| 渭南市| 香港 | 锡林郭勒盟| 阳东县| 乌拉特前旗| 临西县| 区。| 镇巴县| 建始县| 石城县| 沿河| 秭归县| 彩票| 双峰县| 新建县| 汉阴县| 乐亭县| 大邑县| 宁德市| 贵州省| 澄迈县| 墨脱县| 鄂温| 南开区| 铁力市| 七台河市| 义马市| 南召县| 邮箱| 绥滨县| 孟州市| 增城市| 咸丰县| 广昌县| 霍邱县|