Initialize a ๐ฅ desktop app with Electron.js
I am a full stack developer, YouTuber and blogger!
Search for a command to run...
I am a full stack developer, YouTuber and blogger!
No comments yet. Be the first to comment.
Hey all ๐๐ Webhooks are a powerful tool that allow applications to communicate with each other in real-time. They are often used to send notifications or updates from one system to another without requiring manual intervention. If you know the bas...

Hey everyone! It's been a while since I wrote my last article. But here I am with another topic that might be informational to you ๐. This time I am writing about why you should avoid the onclick attribute in your HTML and JavaScript code. This ar...

โ What and Why Memoriez โ This is a very important question because it makes things clear as to why this app is needed. I built Memoriez because I honestly found it hard to write and maintain journal/diary entries daily. It's not easy to maintain a j...

Explained with a simple project

๐ Hey developers! This post is about how you can sort import statements in your JavaScript/TypeScript/React/Node etc projects easily with Prettier in VS Code when you format the code. https://www.youtube.com/watch?v=QQWgN0_gUxI What will you achieve...

So if you also wanna build a desktop app with it, let's start by initializing the project!
You can download it for your desired OS.
npm init -y
Which can be opened via this command in the command line.
code .
You will see a package.json file which will look like this:

electron.# via npm
npm i electron
# or yarn
yarn add electron
Once electron is installed, you will see a change in the package.json file. A new dependency will be added.
scriptin your package.json file, you have to replace this script:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
with this
"scripts": {
"start": "electron ."
},
index.js file.After the config of our package.json, you should create a file called index.js, and fill the file with this code. This code is from Electron.js docs :
const electron = require('electron')
const { app, BrowserWindow } = electron;
function createWindow () {
// Create the browser window.
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
}
})
// and load the index.html of the app.
win.loadFile('index.html')
// Open the DevTools.
win.webContents.openDevTools()
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(createWindow)
// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', () => {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.
I am not explaining this file but you MUST understand this file and know Node.js. The comments in the file can guide you.
index.html fileThis one is really simple, just create an index.html file and fill it with your HTML. You can also add your own CSS file and also you can add your own JS files.
Sample HTML code:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
<!-- https://electronjs.org/docs/tutorial/security#csp-meta-tag -->
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
</head>
<body>
<h1>Hello World!</h1>
We are using node <script>document.write(process.versions.node)</script>,
Chrome <script>document.write(process.versions.chrome)</script>,
and Electron <script>document.write(process.versions.electron)</script>.
</body>
</html>
And That's it! Then you can go to your terminal and run npm start or yarn start and you will see your desktop app up and running!
If you got stuck in a problem during this setup, let me know in the comments. I hope you enjoyed this. Happy Coding!