nodejs

· WEB/Node.js
[NodeJs][Error] cannot find module 'node-gyp/bin/node-gyp' mac osx에 부팅디스크로 설치한 windows에 `npm install` 을 하려하니 아래와 같은 문구가 나왔다. osx에서 종종 발생되는 문제인듯 싶다. ☝️ 해결방법 해결 방법은 생각보다 간단하다. 1. PowerShell 또는 vscode 등 linux 명령어를 사용할 수 있는 터미널을 관리자모드로 실행시킨다. (관리자 모드로 여는게 핵심!) 2. 아래 명령어를 순차적으로 실행해서 설치한다. * node-gyp는 이미 global로 설치되어 있다면 지우고 다시 설치하는 것을 추천한다. 위치: C:\Program Files\nodejs\node_modules\npm\node_modules\no..
[Django][RestAPI] Image Path로 서버에 이미지 업로드하기 서버에서는 사용자 PC에 있는 이미지의 경로만 갖고 해당 위치의 이미지를 서버로 복사(이동)할 수 없다. 파일 열기(불러오기)기능을 하는 을 이용하면 가능하지만, JS에서 서버로 넘긴 path만으로는 Chrome에서 사용자 PC에 접근을 막았기(fakepath, Chrome보안정책) 때문에 불가능했다. Electron(NodeJS)에서 서버로 RestAPI(Django Rest FrameWork)를 통해서 이미지 경로만 갖고 여러 개의 이미지를 한번에 전송하려면 base64로 인코딩(encode/encoding)한 값을 서버로 전달 한 후 서버에서 base64를 이미지로 디코딩(decode/decoding)해주면 된다. 먼저,..
· WEB/Electron
[Electron] 빌드(build) 하기 2 ( electron-builder ) 이전 글 `[Electron] 빌드(build) 하기 ( electron-builder )`에 정보를 조금 더 추가한 글입니다. mac사용자를 위해 osx 빌드가 필요했고, 관련해서 찾아보았습니다. 다행히 한글로된 글이 존재했고, 해당 글을 따라 했습니다. (출처) * 사용 방법 지난 번과 마찬가지로 package.json을 수정해줍니다. 이번에는 각 요소에 대한 설명을 하진 않겠습니다. 필요하다면 이전 글을 참고해 주세요. { ... "scripts": { ... "build": "electron-builder build", "build:osx": "build --mac", "build:win32": "build --w..
[JavaScript] 서버에 있는 이미지 불러오기 다른 서버에 있는 이미지를 이미지 태그(또는 캔버스 등)에 사용하고 싶을 때, 아래와 같이 src에 경로를 입력하면 된다. (입력된 경로는 자동으로 file:// 형식으로 변환되어 입력되어 보여지게 된다.) 하지만, PC에서 서버에 접근은 되지만 위와 같은 경우가 안 되는 경우, 파일을 찾아서 binary로 바꿔준 후 base64로 변환한 값을 src에 입력해 주면 된다. const image = document.getElementById("img"); var src = "//다른서버주소/파일.jpg" if (src.startsWith('\\\\') || src.startsWith('//')) { // 서버 파일인 경우 const Buffer = req..
· WEB/Node.js
[NodeJS] 디렉토리 안에 디렉토리인 것만 찾기 fs 모듈에서 디렉토리 안을 읽는 readdirSync 과 디렉토리인지 검사하는 isDirectory 함수를 사용해서 간단하게 만들 수 있다. 먼저, readdirSync 을 보면 옵션으로 withFileTypes가 있고, 기본값은 false이지만, true로 추가해 주면 결과에 fs.Dirent 객체가 포함된다고 한다. isDirectory 는 stats.isDirectory() 와 dirent.isDirectory() 두 가지가 있다. 1. stats.isDirectory()는 stat 객체가 디렉토리인지 체크하는 함수이며, 아래와 같이 디렉토리를 체크할 수 있다. fs.lstatSync('파일').isDitectory() fs.lstat('파일')..
· WEB/Electron
[Electron] window.require is not a function 에러 예제) window.require('electron').ipcRenderer 추가하기. 1. 페이지의 다른 스크립트들이 실행되기 전 먼저 로드할 스크립트 추가. 파일명 : preload.js window.ipcRenderer = require('electron').ipcRenderer; 2. 메인 main.js (index.js) 파일에서 BrowserWindow 생성시 webPreferences 옵션 추가. new BrowserWindow({ ... webPreferences: { nodeIntegration: false, preload: __dirname + '/preload.js' } ... }); 3. 사용. wi..
S0PH1A
'nodejs' 태그의 글 목록