electron 다운로드
$ npm install -g electron
폴더 생성 후
$ npm -y init
혹시 따로 설정 하고 싶은게 있으면 -y 옵션을 빼고 진행하면 된다.
index.js 파일을 생성 해 준다.
index.js
const electron = require('electron');
const app = electron.app; // 일렉트론 애플리케이션 객체에 대한 참조를 저장
const BrowserWindow = electron.BrowserWindow; //BrowserWindow 클래스의 참조 저장
let mainWindow = null; // 애플리케이션 화면을 저장할 변수 선언
// macOS를 제외하고, 화면이 모두 종료되면 애플리케이션을 곧바로 종료하게 합니다.
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') app.quit();
});
// 애플리케이션이 로드되면 mainWindow 변수에 BrowserWinow 클래스 인스턴스를 할당해서,
// 애플리케이션 화면이 가비지 컬렉션에 의해 회수되지 않게 합니다.
app.on('ready', () => {
mainWindow = new BrowserWindow();
mainWindow.loadURL(`file://${__dirname}/index.html`); // index.html을 읽어들입니다.
mainWindow.on('closed', () => { mainWindow = null; }); // 애플리케이션 화면을 닫으면, mainWindow 변수를 null로 비워줍니다.
});
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body {
width: 100vw;
height: 100vh;
background-image: linear-gradient(45deg, #7031c8 0%, #EF8C53 100%);
text-align: center;
}
button {
background: rgba(0, 0, 0, 0.40);
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.50);
border-radius: 8px;
color: white;
padding: 1em 2em;
border: none;
font-family: 'Roboto', sans-serif;
font-weight: 300;
font-size: 14pt;
position: relative;
top: 40%;
cursor: pointer;
outline: none;
}
button:hover {
background: rgba(42, 35, 35, 0.3);
}
</style>
<script>
function sayHello() {
alert('Hello World');
}
</script>
</head>
<body>
<button onclick="sayHello()">Say Hello</button>
</body>
</html>
이렇게 코드르 작성 후
electron .
으로 실행 해 주면 된다.
이렇게 작동 하는것을 확인 할 수 있다.
이제 이걸 배포하는 작업을 해보겠다.
$ npm install --save-dev @electron-forge/cli
$ npx electron-forge import
$ npm run make
out 폴더가 생성 되고
/out/electron-darwin-x64 폴더에 이렇게 앱이 응용프로그램이 생긴걸 확인 할 수 있다.
/out/make/drawin/x64 폴더에는 압출 파일을 확인 할 수 있다.
https://www.electronjs.org/docs/latest/tutorial/quick-start