Electron - Create Single App for Windows, Linux, and macOS article
electronBuilder.js
Dec 15, 2017 Writing cross-platform UI applications is hard, and there are a bunch of little problems, like packaging. You probably want to distribute your app in a DMG. Ssm health dmg wisconsin dells. https://innovativerenew268.weebly.com/blog/how-to-download-mac-os-dmg-from-app-store. One of the problems with creating a DMG, though, is that you need a Mac to do it. You can't easily create DMGs on a Linux box or a Windows VM. You need a proper Mac, and historically, it's been hard to find Macs in the cloud for CI hosts. 24 rows May 26, 2019 create-dmg. Create a good-looking DMG for your macOS app in seconds. Melee or dmg caster merc eq. To create a DMG installer for our Electron app we can use the electron-installer-dmg package. Electron asar. Testing electron app on Ubuntu linux is easy with VirtualBox and an Ubuntu ISO. This tutorial covers installing Ubuntu as a virtual machine with VirtualBox. Create DMG installers for your electron apps. Get unlimited public & private packages + package-based permissions with npm Pro.
constpackagejson=require('./package.json'); |
constbuilder=require('electron-builder'); |
constmimes=newMap(); |
mimes.set('exe','exe'); |
mimes.set('dmg','dmg'); |
mimes.set('zip','zip'); |
mimes.set('AppImage','x-executable'); |
//Development package.json, see https://goo.gl/5jVxoO |
constdevMetadata=packagejson.electronBuilder; |
//Application package.json |
constappMetadata={ |
name: packagejson.name, |
version: packagejson.version, |
description: packagejson.description, |
author: packagejson.author |
}; |
functionbuildPromise(){ |
returnnewPromise((resolve,reject)=>{ |
builder |
.build({projectDir: './', devMetadata, appMetadata }) |
.then(args=>{ |
constfilePath=args[0]; |
constfileName=filePath.substr(filePath.replace(//g,'/').lastIndexOf('/')+1); |
constext=fileName.substr(fileName.lastIndexOf('.')+1); |
letmimeType; |
if(mimes.has(ext)) |
mimeType=`application/${mimes.get(ext)}, application/octet-stream`; |
else |
console.warn(`Unsupported file type '${ext}' in file '${filePath}'; mime type will be null`); |
resolve({fileName, filePath, mimeType}); |
}).catch((error)=>{ |
console.error(error); |
}); |
}); |
} |
module.exports=buildPromise; |
electronBuilder.json
'electronBuilder': { |
'build': { |
'productName': 'Node Performance Measure', |
'appId': 'EikosPartners.NodePerformanceMeasure', |
'asar': false, |
'win': { |
'iconUrl': 'http://localhost:5000/images/eikos-logo-multi.ico', |
'target': 'nsis' |
}, |
'nsis': { |
'oneClick': false, |
'allowElevation': false |
}, |
'linux': { |
'target': 'AppImage', |
'category': 'Development' |
}, |
'mac': { |
'target': 'dmg' |
} |
}, |
'directories': { |
'output': 'electron/output', |
'app': 'electron/app', |
'buildResources': 'electron/buildResources' |
} |
} |
![Create Create](/uploads/1/3/3/8/133897338/833629078.png)
Linux Open Dmg File
![Dmg Dmg](/uploads/1/3/3/8/133897338/404705839.jpg)
electronInstall.html
Linux Dmg To Usb
<div> |
<inputtype='button' value='Electron' onclick='downloadElectron();' /> |
<spanid='spanElectron'>Build Electron Version Installer for detected OS:</span> |
</div> |
<scripttype='text/javascript'> |
varosdetect='UNKNOWN!'; |
varplatform=navigator.platform.toLowerCase(); |
if(platform.indexOf('win') >= 0) |
osdetect='Windows'; |
elseif(platform.indexOf('mac') >= 0) |
osdetect='MacOS'; |
elseif(platform.indexOf('linux') >= 0) |
osdetect='Linux'; |
document.getElementById('spanElectron').innerHTML+=' <i><strong>'+osdetect+'</strong></i>'; |
functiondownloadElectron(){ |
varhostname=location.hostname; |
varport=location.port.length>0 ? ':'+location.port : '; |
varurl='http://'+hostname+port+'/electron' |
window.open(url); |
} |
</script> |
Create Dmg Mac
electronRoute.js
Linux Open Dmg
//Install page for Electron Application |
router.get('/electron',function(req,res,next){ |
electronBuilder() |
.then(e=>fs.readFile(e.filePath,(err,data)=>{ |
res.setHeader('Content-Disposition',`attachment; filename='${e.fileName}'`); |
res.setHeader('Content-type',e.mimeType); |
res.send(data); |
})).catch((error)=>{ |
console.error(error); |
}); |
}); |
Create Dmg File On Windows
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment