[Electron] img 태그 src="file://~" 경로에 존재하는 파일이 로드되지 않는 경우 해결 방법 1. 오류 WebRoot 경로 및 하위 폴더에 존재하는 이미지는 상대 경로로 입력하여 이미지를 불러올 수 있지만, 로컬에 존재하는 파일 또는 다른 서버에 존재하는 파일을 로드할 경우, 절대 경로로 입력해 주어야 한다. C:/나 D:/ 등 마운트된 디렉토리는 정상적으로 접근해서 이미지를 로드했지만, 외부(다른) 서버에 존재하는 파일을 파일은 존재한다고 출력은 되나, 이미지를 불러오지 못했다. 아래 코드를 실행해 보면 image1은 이미지가 보이지만, image2는 이미지가 보이지 않았다. const fs = require("fs"); var image1 = document.createElemen..
nodejs
[NodeJS] 동기/비동기 Nodejs 가 javascript 기반이라 "비동기" 방식으로 실행되다 보니, 쿼리가 순차적으로 진행되지 않는다. 순차적으로 실행시키기 위해 "동기" 방식으로 바꿔야 한다. 비동기 A, B 함수가 있으면 A 시작 -> B 시작 -> A, B중 먼저 끝나는 대로 종료 동기 A, B 함수가 있으면 A 시작 -> A 종료 -> B 시작 -> B 종료 동기 방식을 사용하기 위해서는 먼저 "async"을 npm 을 통해 다운 받는다. $ npm --save-dev install async 사용 방법은 아래와 같다. `async.waterfall` 안에 선언된 함수 순차대로 진행하게 된다. const async = require('async'); async.waterfall([ // ..
[NodeJS] Popper.js 추가 오류 해결 방법 부트스트랩(Bootstrap)을 사용하기 위해 popper.min.js파일을 인터넷에서 다운 받은 후 HTML 에 추가하니 아래와 같이 ENOENT 파일을 찾을 수 없다는 오류가 발생했다. popper.min.js.map 파일이 없다고 한다. popper.min.js 파일만 다운받아 저장해서 그렇다. 그래서 npm으로 popper.js를 설치하면 dependency 파일까지 설치 될테니, $ npm i popper.js 로 popper 를 설치 한 후 HTML에 추가하니 또 오류가 발생했다. index.js 파일에 오류가 발생했다고 한다. Defaults 부분이 오류 났다는데, 원인을 모르겠다. 그래서 그냥, npm 으로 다운 받은 popper.js..
Electron에서 HTML 안에 다른 HTML을 삽입(Include)하여 부분별로 HTML을 나눠 관리하기 쉽도록 하기 위해 찾아보니, AngulerJS 같은 프레임워크를 쓰면 된다고 하지만, 사용할 줄 모르기에..... 더 검색해 보니 Electron 전용(?!) ejs를 사용하게 되었다. * ejs-electron 아래는 HTML에 다른 HTML을 추가하여 사용하는 방법 예시이다. - 완성된 파일 구조(결과) 메인인 index.js 파일 ejs-electron 을 추가하여 사용 할 수 있다. ejse.data("key", "value") 또는 ejse.data({key: "value"}) 형식으로 ejs 파일에 값을 전달 할 수 있다. const electron = require('electron'..
[Electron] database 연결하기 Database(Mysql) 에 정상적으로 연결되었는지 Main 프로세스에서 체크한 후 결과를 화면(renderer)에 표시하려고 한다. 파일 구조는 아래와 같이 구성했다. - main.js : 메인 프로세스 - database └ db_info.js : database 정보 └ db_conn.js : database 연결 함수 정의 - app └ main.html └ renderer.js 간략히 설명하면 내가 구성한 코드의 작동 순서는 다음과 같다. 1) renderer.js 에서 main으로 database 가 연결되었는지 확인 요청함 2) main.js 에서 database 연결을 db_conn.js 의 open 함수를 통해 체크한 후 open 함수에서 ..
[Nodejs] 폴더 없으면 생성하도록 하는 방법 - 가장 간단한 방법 const fs = require('fs'); !fs.existsSync(dir) && fs.mkdirSync(dir); - 에러 처리를 추가한 방법 fs.mkdir(dir, err => { if (err && err.code != 'EEXIST') throw 'up' console.log("Already Exists!") }) - 폴더 없을 경우 모두 생성 ( 하위 폴더 생성 ) `mkdirp` 를 이용해서 `mkdir -p` 수행 const mkdirp = require('mkdirp'); mkdirp(dir, function (err) { if (err) console.error(err) }); [참고] code.i-harnes..