IT/Electron 9

[Electron] 일렉트론 로컬저장소 로컬 DB 연동 , nedb 사용하기

프로젝트 생성 완전 처음부터 프로젝트 생성부터 시작해보겠습니다. 저는 Git Bash 가 윈도우에 깔려있어서 우클릭 하면 저렇게 뜨는거고, 설치되있지 않다면 이 참에 설치하시는게 편하실겁니다~ Git Bash 를 열고 아래와 같이 명령어 입력 //nedb 라는 폴더명으로 일렉트론 프로젝트 clone git clone https://github.com/electron/electron-quick-start nedb 2초도 안걸려서 금방 clone 이 완성된것을 확인할수 있는데, 해당 폴더에 진입하여 vscode 로 진입해줍니다. 혹시라도 위 화면처럼 뜨지 않는다면, 그냥 방금 clone 했던 git bash 창에서 "cd nedb" 로 폴더 진입해서 "code ." 라고만 쳐도 vscode가 열릴꺼에요 자 ..

IT/Electron 2021.10.28

[Electron] 일렉트론 로컬저장소(Local Storage) 사용하기

일렉트론을 개발하다보면 값을 저장해야되는데, 그렇다고 db 연결하기도 애매모호하고 그냥 심플하게 몇개만 저장하고싶을때가 있다. 그럴때 electron-store 라는것을 사용한다. npm install electron-store const Store = require('electron-store'); const store = new Store(); //store 에 port 라는 변수로 80 세팅 store.set('port', 80); //store 에 port 라는 변수를 가져오기 console.log(store.get('port')); //store 에 port 라는 변수 삭제 store.delete('port'); 놀랍게도 사용방법은 이게 끝이다. 애초에 일렉트론이 크롬 브라우저가 개발된 "크로미..

IT/Electron 2021.10.28

[Electron] getGlobal Error , Passthrough is not supported, GL is disabled

const { remote } = require('electron'); const dbInstance = remote.getGlobal('db'); 위처럼 일렉트론 nedb 좀 이용해볼려하는데 getGlobal 에서 계속 에러가 발생. 여러 삽질 끝에 해결방법 끝끝내 찾아내지못하고 혹시나 버전 문제일까 싶어서, 일렉트론 버전 15.3.0 으로 되어있던거 , 12.0.0 으로 바꿔서 yarn install 진행하니 정상작동 확인완료. 실화냐?

IT/Electron 2021.10.26

[Electron] exe 창 하나만 뜨게하기

requestSingleInstanceLock() 라는것으로 창이 하나인지 그 이상인지 체크할수있다 main.js const { app, BrowserWindow, Menu } = require('electron'); app.on('ready', () => { let mainWindow = new BrowserWindow({ width: 500, height: 500, resizable: false, webPreferences: { preload: path.join(__dirname, 'preload.js'), nodeIntegration: true, contextIsolation: false, enableRemoteModule: true, webviewTag: true } }); const onlyOn..

IT/Electron 2021.04.02

[Electron] 일렉트론 exe 실행 파일 빌드 npm run build:win64

실행파일 빌드 윈도우 64비트 기준입니다 빌드하고싶은 폴더 터미널에서 아래 npm 설치 npm install -g electron-builder package.json내용추가 - scripts 에 build 부분 추가 - build 부분에 win icon 추가 (실행파일 이미지 경로) { "name": "프로젝트이름", "version": "1.0.0", "description": "A minimal Electron application", "main": "main.js", "scripts": { "start": "electron .", "build:osx": "electron-builder --mac", "build:linux": "npm run build:linux32 && npm run build:..

IT/Electron 2021.03.24

[Electron] 일렉트론 프로그램 닫기 클릭시 트레이로 숨기기 main.js

const { app, BrowserWindow, Menu, Tray, nativeImage } = require('electron'); const path = require('path') //소스 수정시 자동 새로고침 //require('electron-reload')(__dirname, { electron : require(`${__dirname}/node_modules/electron`) }) function createWindow () { const mainWindow = new BrowserWindow({ width: 500, height: 500, resizable: false, webPreferences: { preload: path.join(__dirname, 'preload.js') } ..

IT/Electron 2021.03.24

[Electron] 일렉트론 프로젝트 생성 및 실행 npm start

프로젝트를 생성하고자 하는곳에서 git bash 창을 열어서 아래와 같이 명령어 입력 뒤에 "210324" 는 저 이름대로 해당 프로젝트 다운받아라 라는 뜻입니다. 아무거나 하셔도되고 안쓰셔도되요. 아무것도 안쓰시면 electron-quick-start 라는 폴더가 생성됩니다. git clone https://github.com/electron/electron-quick-start 210324 아래와 같이 정상적으로 프로젝트가 생성된것을 볼수있습니다. 이제 마우스 우클릭을 눌러서 해당 프로젝트 경로로 vscode 를 열어서 확인을 해봅니다 ~ 해당 부분은 vscode 를 설치할때 저 옵션을 체크하는 부분이 있는데 혹시 체크를 까먹고 안하셨다면 없을겁니다. 그렇다고 다시 재설치 할필요는 없고, 레지스트리 ..

IT/Electron 2021.03.24

[Electron] 일렉트론 sqlite3 연동 , Sqlite3 insert 시 무한 루프 발생

일렉트론 소스 변경시 바로바로 적용이 되게 하려고 main.js 상단에 아래와 같은 소스를 넣어놨었다. require('electron-reload')(__dirname, { electron : require(`${__dirname}/node_modules/electron`) }) 근데 위 소스가 후에 내게 빅엿이 될줄은 상상도 못했다 .. sqlite3 를 연동하고나서 insert 구문을 테스트하는데 페이지가 미친듯이 무한새로고침이 되는게 아닌가 .. 다른것도 아니고 db insert 할때 그모양이 되니 난리도 아니다 결국 상단에 자동새로고침 소스 주석 처리해주니 한번만 실행 되면서 잘 들어간다 .. main.js const { app, BrowserWindow, Menu } = require('ele..

IT/Electron 2021.03.16

[Electron] require is not defined 해결 방법

일렉트론 openDevTools 을 이용하여 F12 메뉴를 보는데 require is not defined 라고 뜬다 찾아보니 nodeIntegration:false 인부분을 true 로 바꿔주면 된다는데 난 그래도 해결이 안됐다 그러다가 contextIsolation : false 라는걸 추가해주니 그제서야 인식이 잘되더라 .. 왜 이렇게 해야 되는지는 모르겠다 여기저기 해외 커뮤니티 뒤지다가 우연히 보게되었는데 얼떨결에 작동이 되서 당황스럽다 국내엔 일렉트론 개발자가 없는건지 있어도 공유를 안하는건지 내가 검색을 못하는건지 한글로 암만 찾아도 안나온다.. 여튼 이부분은 좀 더 찾아봐야 할거같다 main.js const { app, BrowserWindow, Menu } = require('electr..

IT/Electron 2021.03.16
300x250