Own VPN client on JavaScript. Part 11 - Build an application under Windows

P.S. [b] Each part is a part; by itself it does not make sense, in order to acquire the necessary context and not experience cognitive dissonance from the lack of so necessary blocks of text, start reading from 3r3357. 1 part 3r3405.  
3r33420. 3r33400.
3r3405.  
This time I will build the application with the npm module electron-builder , special thanks to the developers for the convenient Documentation 3r33420. 3r33400. to the module and [b] many examples 3r30000. config settings (none). 3r3405.  
3r3405.  
Last time I compiled the npm application with the [b] module. electron-packager
as far as I know, he cannot collect in exe, in any case at that time I could not do it. 3r3405.  
3r3405.  
3r33420. 3r3405.  
3r3405.  
Content file package.json . 3r3405.  
3r3405.  
1 {3r3482. 2 "name": "JS.VPN-Client",
3 "version": "???",
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} 3r3482. 17}, 3r3482. 18 "author": {
19 "name": "JSus & Developments",
20 "email": "[email protected]ndex.ru"
21}, 3r3482. 22 "license": "ISC",
23 "dependencies": {
24 "child_process": "^ ???",
25 "fs": "^ ???-security",
26 "ipify": "^ ???",
27 "js-base64": "^ ???",
28 "request": "^ ???"
29} 3r3482. 30} 3r3482.

3r3405.  
3r3405.  
Parsing package.json
 
 
 
3r3391. Line 3r3392.  
3r3391. Description
 
 
 
2
 
Package name (required)
 
 
 
3
 
Version of the package /application (required)
 
 
 
4
 
Package /Application Description
 
 
 
5
 
Point of entry into the package
 
 
 
6
 
The homepage of the package /application
 
 
 
7
 
Config object for electron-builder
 
 
 
8
 
ApplicationUserModelId (AUMID) is a combination of PackageFamilyName and PackageRelativeApplicationID (PRAID) - I do not know what it is 3r-3252.  
 
 
9
 
The name of the application (if you do not specify the value will be taken from the name)
 
 
 
10
 
Copyright
 
 
 
11
 
Build Platform (win, mac, linux) (required)
 
 
 
12
 
The method of packing the application (7z, zip, tar.xz, tar.lz, tar.gz, tar.bz? dir, etc) (required)
 
 
 
13
 
Application icon (if you do not specify it will be standard) 3r33252.  
 
 
14
 
Trademarks
 
 
 
15 3r33252.  
The way of internal archiving of the application needs to be disabled because it removes files with the exe extension
 
 
 
18
 
Publisher, you can specify the line
 
 
 
23
 
Dependencies, among them there should be no electron, otherwise there will be an error 3r33252.  
 
3r3405.  
3r3405.  
To build the application itself, use the command
 
3r3405.  
electron-builder build

3r3405.  
3r3405.  
Own VPN client on JavaScript. Part 11 - Build an application under Windows 3r3405.  
3r3405.  
After N minutes 3r3405.  
3r3405.  
3r3405.  
3r3405.  
During the build process, the folder will be created in the project root. dist 3r3405.  
3r3405.  
3r3405.  
3r3405.  
After the build is completed in the folder, you can find the file to install 3r3405.  
3r3405.  
3r3305. 3r3405.  
3r3405.  
3r3405.  
3r3405.  
The application is ready for publication! 3r3405.  
3r3405.  
3r33333.

3r3405.  
3r3405.  

Project page on Github
3r33400. and [b] 3r33336. The personal page of the application
3r33400. 3r3405.  
3r3405.  
Well, how do you like this Ilon Musk? 3r3405.  
3r3405.  
Poki smacks benches shops. 3r3405.  
3r3405.  
3r33354. Navigation

3r33357. Part 1 - Introduction
3r3405.  
3r33333. Part 2 - Development
3r3405.  
3r33333. Part 3 - OpenVPN component
3r3405.  
3r33333. Part 4 - Configs component
3r3405.  
3r33333. Part 5 - Vpn component
3r3405.  
Part 6 - Notify component 3r3405.  
3r33381. Part 7 - Context component
3r3405.  
3r33385. Part 8 - Setting component
3r3405.  
3r33333. Part 9 - Callback component
3r3405.  
3r33393. 10 part - Combining all the components of
3r3405.  
[b] Part 11 - Building an application for Windows 3r33400. 3r3405.  
3r3405.  
3r3407.
3r33412. ! function (e) {function t (t, n) {if (! (n in e)) {for (var r, a = e.document, i = a.scripts, o = i.length; o-- ;) if (-1! == i[o].src.indexOf (t)) {r = i[o]; break} if (! r) {r = a.createElement ("script"), r.type = "text /jаvascript", r.async =! ? r.defer =! ? r.src = t, r.charset = "UTF-8"; var d = function () {var e = a.getElementsByTagName ("script")[0]; e.parentNode.insertBefore (r, e)}; "[object Opera]" == e.opera? a.addEventListener? a.addEventListener ("DOMContentLoaded", d,! 1): e.attachEvent ("onload", d ): d ()}}} t ("//mediator.mail.ru/script/2820404/"""_mediator") () ();
3r33418. Only registered users can participate in the survey. 3r33434. Enter
, you are welcome. 3r33421.
3r33424.
3r33426.
3r33434. Would you like to see the application version for other operating systems?
3r33440.
3r33462.
3r33466. Yes, for Linux and MacOS
3r33469.
3r33471.
3r33462.
3r33466. No, the example of Windows
is enough.
3r33469.
3r33471.
3r33476.
3r33480. No one has voted yet. There are no abstentions.
+ 0 -

Add comment