Главная » Хабрахабр » Собственный VPN клиент на JavaScript. 11 часть — Сборка приложения под Windows

Собственный VPN клиент на JavaScript. 11 часть — Сборка приложения под Windows

P.S. Каждая часть — это часть, сама по себе смысла не имеет, чтобы обзавестись необходимым контекстом и не испытывать когнитивный диссонанс от отсутствия так необходимых блоков текста начните читать с 1 части

В этот раз собирать приложение я буду npm модулем electron-builder, отдельное спасибо разработчикам за удобную документацию к модулю и множество примеров настройки конфига (нет).

В прошлый раз я собирал приложение npm модулем electron-packager, насколько мне известно, он не может собирать в exe, во всяком случае на тот момент мне не удалось это сделать.
Cодержимое файла package.json.

1 {
2 "name": "JS.VPN-Client",
3 "version": "0.3.77",
4 "description": "VPN Client",
5 "main": "index.js",
6 "homepage": "https://github.com/JsusDev/JS.VPN-Client",
7 "build": {
8 "appId": "JS.VPN-Client",
9 "productName": "JS.VPN-Client",
10 "copyright": "JSus & Developments 2018",
11 "win": {
12 "target": "nsis",
13 "icon": "icon.ico",
14 "legalTrademarks": "JSus & Developments 2018",
15 "asar": false
16 }
17 },
18 "author": {
19 "name": "JSus & Developments",
20 "email": "jsusdev@yandex.ru"
21 },
22 "license": "ISC",
23 "dependencies": {
24 "child_process": "^1.0.2",
25 "fs": "^0.0.1-security",
26 "ipify": "^2.0.0",
27 "js-base64": "^2.4.9",
28 "request": "^2.88.0"
29 }
30 }

Разбор package.json

Строка

Описание

2

Имя пакета (обязательно)

3

Версия пакета/приложения (обязательно)

4

Описание пакета/приложения

5

Точка входа в пакет

6

Домашняя страница пакета/приложения

7

Объект конфига для electron-builder

8

ApplicationUserModelId (AUMID) является комбинацией PackageFamilyName и PackageRelativeApplicationID (PRAID) — я не знаю что это

9

Название приложения (если не указать значение будет взято из name)

10

Авторские права

11

Платформа сборки (win, mac, linux) (обязательно)

12

Способ запаковки приложения (7z, zip, tar.xz, tar.lz, tar.gz, tar.bz2, dir, etc) (обязательно)

13

Иконка приложения (если не указать будет стандартная)

14

Товарные знаки

15

Способ внутреннего архивирования приложения нужно отключить потому что убирает файлы с расширением exe

18

Издатель, можно указать строкой

23

Зависимости, среди них не должно быть electron иначе будет ошибка

Для сборки самого приложения используется команда

electron-builder build

image

Спустя N минут…

image

В процессе сборки в корне проекта будет создана папка dist

image

После того как завершится сборка в папке можно будет найти файл для установки

image

image

Приложение готово к публикации!

Страница проекта на Github и Персональная страница приложения

Ну что, как тебе такое Илон Маск ?

Поки чмоки лавки лавки.

Навигация

Собственный VPN клиент на JavaScript by JSus


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Из песочницы] Цена качества: 7 принципов оптимизации затрат на тестирование

Вы не одиноки. Думаете, как сэкономить на тестировании вашего ПО? Возникает лишь одно маленькое но: если софт не дотестировать, возможны самые негативные сценарии – от дорогостоящей и крайне невыгодной вам доработки приложения на поздних стадиях до потери репутации и ухода ...

[Перевод] Откуда появился лозунг «Don’t Be Evil»

Сергей Брин. Стейси Салливан. Хироси Ямаути. Пол Бухейт. Амит Патель. Марисса Майер. Google. Nintendo. Пагуошская студенческая конференция. Дорогой Quote Investigator, Google был основан в 1998 году и спустя несколько лет один из работников предложил этой компании девиз: Не будь злым ...