1. 모듈화 전 main.js
const { app, BrowserWindow } = require('electron');
// 새 브라우저 창을 생성하는 함수
function createWindow() {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,// 렌더러 프로세스에서 Node.js 통합을 활성화
contextIsolation: false,// 렌더러 프로세스에 대한 컨텍스트 격리를 비활성화
},
});
}
// 앱이 준비되면 새 창을 생성
async function startApp() {
await app.whenReady();
const mainWindow = createWindow();
}
startApp();
// 모든 창이 닫히면 애플리케이션을 종료 (macOS 제외)
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
// 앱이 활성화될 때 새 창을 생성 (macOS에서만)
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});
2. 모듈화 후
1) createWindow.js
// createWindow.js
const { BrowserWindow } = require('electron');
// 브라우저 창을 생성하는 함수를 내보내기
module.exports = function createWindow() {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
},
});
};
2) main.js
const { app } = require('electron');
const createWindow = require('./createWindow');
// 앱이 준비되면 새 창을 생성
async function startApp() {
await app.whenReady();
const mainWindow = createWindow();
}
startApp();
// 모든 창이 닫히면 애플리케이션을 종료 (macOS 제외)
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
// 앱이 활성화될 때 새 창을 생성 (macOS에서만)
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});
'컴퓨터 > Electron' 카테고리의 다른 글
Electron path (0) | 2023.04.24 |
---|---|
Electron HTML 보여주기 (0) | 2023.04.24 |
Electron 상단 메뉴 (main menu) (0) | 2023.04.24 |
Electron MariaDB (0) | 2023.04.23 |
Electron 아이콘 icon (0) | 2023.04.23 |