본문 바로가기

컴퓨터/Electron

Electron IPC 1. IPC 란? Electron 에서 렌더러 프로세스와 메인 프로세스 간에 데이터를 주고 받는 것을 Inter-Process Communication 이라고 한다. 2. 렌더러 프로세스 → 메인 프로세스 ipcRenderer 모듈의 ipcRenderer.send 메서드로 보내고 ipcMain 모듈의 ipcMain.on 메서드로 받는다. 3. 메인 프로세스 → 렌더러 프로세스 ipcMain 모듈의 webContents.send 메서드로 보내고 ipcRenderer.on 메서드로 받는다. 4. 예제 1) main.js const { app, BrowserWindow, ipcMain } = require('electron'); let mainWindow; function createWindow() { mai..
Electron Reload 1. 설치 npm install electron-reload 2. 사용: main.js const electronReload = require('electron-reload'); // 개발 중에만 사용하는 코드 if (process.env.NODE_ENV === 'development') { // electron-reload 사용하기 electronReload(path.join(__dirname, './'), { forceHardReset: true, hardResetMethod: 'exit', filter: '*.*', }); } 3. 설정: .env NODE_ENV="development"
Electron 환경변수 1. 패키지 설치 npm install dotenv 2. 환경변수 파일 작성 방식 .env: PORT=3000 DATABASE="localhost" 3. 사용 require('dotenv').config() process.env.PORT process.env.DATABASE
Electron path const path = require('path'); // 현재 모듈 파일이 위치한 디렉토리의 절대 경로 const __dirname = path.resolve(); // 현재 모듈 파일이 위치한 디렉토리와 상대 경로를 결합한 절대 경로 const filePath = path.join(__dirname, 'data', 'file.txt');
Electron HTML 보여주기 1. main.js const { BrowserWindow } = require('electron'); const path = require('path'); const mainWindow = new BrowserWindow({ width: 800, height: 600 }); const data = { name: 'John Doe', age: 30 }; // 전달할 데이터 객체 mainWindow.loadFile(path.join(__dirname, 'index.html'), { query: data }); 전달할 데이터가 없다면, { query: data } 는 생략 가능하다. 2. index.html 안의 index.js const params = new URLSearchParams(window.lo..