[Linux] node.js 최신버전 설치
·
LINUX/Linux
⚙️ Version Configuration Index Detail Host OS Ubuntu 18.04 LTS (bionic) CPU x64 Nodejs 14.17.0 🎯 한줄 요약 (글의 목적) 🎯 리눅스 우분투에 node.js 최신버전을 설치하고자 한다. ⚠️ 다음 명령어를 통해서도 설치가 가능하지만 아카이브 상태에 따라 '최신버전'이 아닐 수 있다. $ sudo apt-get install nodejs 📦 설치 방법 1. nodejs 공식 홈페이지에서 압축파일 다운로드 2. Ubuntu instance로 압축파일 전송 필자는 'FileZilla'를 사용했다. lib 파일은 통상 다음 경로에 설치하는 것이 좋다. /usr/local/lib # 따라서 nodejs 파일이 설치된 디렉토리 경로는 다음과..
TypeScript + Koa 프로젝트 생성
·
Web
필수 패키지 설치 > npm init --y > npm i koa > npm i --save-dev typescript ts-node nodemon @types/koa @types/node ## 이 부분은 Visual Studio Code Plugin을 사용하면 굳이 추가설치 하지 않아도 되긴한당. > npm i --save-dev eslint eslint-config-prettier @typescript-eslint/parse ts-node: 트랜스파일링을 파일(.js)로 생성하지 않고 바로 메모리단에서 수행해주는 착한 친구다. ※ 패키지명에 @types/ 가 붙은 것은 TypeScript를 지원하는 패키지로 구글링해서 npm 패키지가 나오면 존재하는 것이다.! 그냥 바로 설치해주도록 하자. npm '..
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
·
Web
1. 문제 상황 2.원인 분석 express의 response 객체의 응답 메소드는 단 1회만 사용하도록 되어있다. 이 구문에서는 response.download 메소드를 호출했음에도 다시 한 번 response.json 메소드를 포함하여 호출 (총 2회 호출) 하기 때문에 이미 응답이 끝난 상황에서 HTTP Method header를 재설정 할 수없다는 에러 메시지가 출력되는 것이다. 3. 문제 해결 => 정상적으로 서버 동작
Error: Cannot find module
·
Web/Nodejs
🔒 문제 원인 사용자가 require하고자 하는 (사용하고자 하는) 패키지 모듈을 찾을 수 없다는 뜻 주로, 다음 3가지가 원인이다. 패키지 사용 모듈에서의 오타 // index.js const 패키지앱이름 = require('패키지명'); // 여기서 오타가 있거나 package.json 에 패키지명 명시 누락 ex) express 를 사용하려하는데 // package.json // 2. 여기에 패키지가 명시되어있지 않다. // 3. 패키지는 명시되어 있으나 `npm install` 등 명령어로 // node_modules 에 패키지를 실제로 설치하지 않은 경우 "dependencies": { "express": "4.0.6" } 패키지를 node_modules에 설치하지 않은 경우 🔑 해결 방안 np..
Node.js 'Event'
·
Web/Nodejs
Node.js는 기본적으로 Event라는 Module, EventEmitter라는 Class를 내장하고있다. Event관련 메소드들 EventHandler: function to be executed when specific Event triggers 1. Event Method 메소드 설명 eventEmitter.on(EventName, EventListner) 이벤트 이름에 따라 취할 액션을 이벤트 리스너(핸들러)에 등록하는 메소드 (on == addListener) eventEmitter.once('EventName', EventListner) 한번 만 수행할 액션을 이벤트 리스너로 등록 eventEmitter.removeListner(EventName, EventLister) on으로 등록해둔 이..