Разработчики внешнего интерфейса могут использовать Electron для простого написания приложений для ПК, и существует множество способов обновления приложений, см. подробности.обновить приложение.
Мой проект построен на основе electronic-vue, для сборки и упаковки инсталляционного пакета используется electronic-builder, поэтому для обновления естественным выбором будет electron-updater.
- Для реализации автоматических обновлений сначала необходимо установить пакет electronic-updater:
yarn add electron-updater@3.1.5 -D
Здесь есть яма. Если вы используете тот же проект electronic-vue, что и я, электронная версия также должна быть 2.x. ", если вы установите последний электронный модуль обновления напрямую, ваш модуль обновления сообщит об ошибке.
Итак, вот два варианта: один — обновить свой электрон, а другой — установить электрон-апдейтер 3.x.
- Затем внесите небольшое изменение в package.json:
...
"build": {
"productName": "xingsanhao",
"appId": "com.example.yourapp",
"directories": {
"output": "build"
},
"publish": [
{
"provider": "generic",
"url": "http://10.0.1.42:88/"
}
],
"files": [
"dist/electron/**/*"
],
...
build
Содержимое в нем — это конфигурация, необходимая для упаковки электрона-сборщика, теперь нам нужно добавить в него конфигурацию, требуемую для электронного-апдейтера.publish
, здесь я выбираю общий сервер, конечно, вы также можете использовать GitHub для бесплатного хостинга, пожалуйста, обратитесь кДокументация.
- Создайте файловый сервер, и тестовую среду можно будет быстро построить напрямую с помощью экспресс-кода:
// app.js
var express = require('express')
var fs = require('fs')
const path = require('path')
var app = express()
app.use(express.static(path.join(__dirname, './client')))
var server = app.listen(88, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
Упакуйте сгенерированный инсталляционный пакет иlatest.yml
файл наclient
эту папку, чтобы мы могли пройтиhttp://10.0.1.42:88/latest.ymlдоступ кlatest.yml
этот файл.
Таким образом, в конфигурации в package.json элемент URL-адреса под публикацией записывается напрямую.http://10.0.1.42:88/Просто сделай это.
- Наконец, проверьте обновленный код
Я не буду писать код, Baidu иДокументацияЕсть оба, это относительно просто, хотите ли вы автоматически проверять наличие обновлений или пользователи вручную проверяют наличие обновлений, это зависит от вашего настроения.