본문 바로가기

ELECTRON

(13)
[electron] autoUpdater 사용 시 주의 사항. electron-updater로 최신 릴리스가 있는 지 확인 할 때 checkForUpdates 함수를 사용한다. 이 함수의 결과로 "update-available" 또는 "update-not-available" 이벤트가 발생한다. 자동 업데이트를 구성하는 코드는 대략 아래와 같다. import { autoUpdater } from "electron-updater"; ...... autoUpdater.on("update-available", (info) => { console.log("Update available."); autoUpdater.downloadUpdate(); }); autoUpdater.on("update-not-available", (info) => { console.log("Updat..
[electron] github private repo.를 사용하는 자동 업데이트. electron-updater와 github repository를 사용해서 자동 업데이트 기능을 추가할 수 있다. 2020.04.21 - [ELECTRON] - electron-updater 프로그램 자동 업데이트 electron-updater 프로그램 자동 업데이트 2020/03/31 - [ELECTRON] - electron-builder 초간단 사용법 지난 글에서 사용한 예제에 GitHub를 사용하는 자동 업데이트 기능을 추가해 보겠습니다. 자동 업데이트 기능 테스트를 위해서 GitHub에 repository를.. junglow9.tistory.com 그런데 어떤 상황 때문에 private repository를 사용해야 한다면? 물론, 보안 상의 이슈로 private repo.사용은 권장하지 않는다..
[electron] electron-builder를 사용할 때 vc_redist.exe 실행하기 electron으로 윈도용 프로그램을 만들고 있는데 어찌어찌하다 보니 vc++ redistributable 파일을 설치해야 할 필요가 생겼습니다. 추가로 파일을 설치하는 것도 NSIS 스크립트로 간단하게 해결할 수 있습니다. NSIS 스크립트 https://www.electron.build/configuration/nsis.html#custom-nsis-script NSIS - electron-builder NSIS The top-level nsis key contains set of options instructing electron-builder on how it should build NSIS target (default target for Windows). These options also app..
[electron] Windows 에서 electron-builder를 사용할 때 프로그램 설치 폴더 변경하기. electron-builder로 프로그램 설치 파일 만들고 프로그램을 설치하면 아래와 같은 경로에 설치되는 것 같습니다. C:\Users\사용자이름\AppData\Local\Programs\프로그램이름 그런데 보통 C:\Program Files 또는 C:\Program Files (x86)를 사용하잖아요??? 그래서 설치 폴더를 변경하는 방법을 찾아보았습니다. NSIS 스크립트 https://www.electron.build/configuration/nsis.html#custom-nsis-script NSIS - electron-builder NSIS The top-level nsis key contains set of options instructing electron-builder on how it ..
electron에서 WIN32 API SendMessage 사용하기. electron프로그램에서 다른 윈도우 프로그램으로 메시지를 전달해야할 일이 생겼습니다. 오잉??? 이게 되려나??? 물론 되기야 하겠죠? 제 내공이 얕아서 잘 모를뿐 ㅎㅎ 역시나 이런 저런 키워드로 검색해보니 딱 있습니다. Node.js Foreign Function Interface for N-API - node-ffi-napi Node라이브러리 말고, 윈도우 DLL 라이브러리등을 사용할 수 있게 해 줍니다. Linux, OS X, Windows, Solaris에서도 돌아간다는데 저는 Windows에서만 사용해 봤습니다 EnumWindows로 실행중인 프로그램을 하나 찾아 그 녀석에게 메시지 하나를 날려주는 간단한 작업입니다. * 윈도우 개발툴이 필요합니다. Visual Studio 없으시면, 개발툴..
맥(MacOS)에서 globstar 패턴 인식 안 될때!!! ELECTRON으로 프로그램 만들고 동작 확인할 때 운영체제마다 약간의 차이로 코드가 안 돌아갈 때가 있습니다. 이번에 부딪힌 문제는 npm으로 파일 복사 스크립트를 실행할 때 globstar 패턴인식에 문제가 있었습니다. 예를 들어 아래와 같은 npm 스크립트가 있다면, copyFiles scr/assets/**/* 윈도 10에서는 scr/assets/ 하위에 있는 폴더와 파일을 다 불러올 수 있는데 맥에서는 안 되더군요. 한동안 테스트 끝에 스크립트의 문제가 아니라 각 종 설정의 문제란 걸 알게 되었습니다. 1. bash 버전 문제 현재 bash 버전이 너무 낮아 globstar 패턴을 제대로 인식하지 못했습니다. 터미널에서 아래 명령 실행에 실패하면 bash 업데이트를 해야 합니다. shopt -s..
electron-builder 결과물 사이즈가 너무 클 때!!! electron-builder로 win32를 빌드했는데 파일 사이즈가 무려 400MB !!!??? 아무래도 이상해서 원인을 찾아봤습니다. 먼저, build 옵션 중 asar을 false로 한 후 어떤 파일이 배포 파일에 들어있나 확인했습니다. { ...... "build": { ...... "asar":false, ...... }, ...... } 그랬더니, 프로그램 소스 파일 외 각종 자료가 들어 있는 폴더가 들어있었습니다. 그 외 vscode 관련 설정 파일도 있더군요. 불필요한 파일을 제외하는 방법을 찾아보니 electron-builder 옵션 중 files란게 있었습니다. https://www.electron.build/configuration/contents
ELECTRON + TypeScript 사용해 보기(2) - cannot find module ... 2021.06.21 - [ELECTRON] - ELECTRON + TypeScript 사용해 보자(1) 이번에는 모듈 경로 설정에 대해서 살펴보겠습니다. 간단한 테스트를 위해 src/modules에 util.ts를 추가하고 함수를 하나 추가하고, export function testUtil():void { console.log("testUtil") } renderer.ts에 testUtil을 사용하는 코드를 추가했습니다. import { testUtil } from "./modules/util"; const newWindowBtn = document.getElementById('new-window'); newWindowBtn.addEventListener('click', (event) => { testU..