728x90

node.js 8

[Express] 정적 파일 경로를 설정해보자.

웹 서버 호스트에서 경로를 통해 정적 파일을 참조하는 경우가 있다. ex) localhost:3000/public/css/test.css → public/css/test.css 파일을 보여줌. 이미지, css 파일 및 javascript 파일 같으 정적 파일을 제공하려면 epxpress.static 함수를 사용해야 한다. 정적 파일이 포함된 디렉토리의 이름을 express.static 함수의 전달하면 파일의 직접적인 참조를 할 수 있다. app.use(express.static('public')); // public 이라는 이름의 디렉토리를 정적 파일을 제공하는 디렉토리로 설정 public 디렉토리 구조가 다음과 같다고 하자. 그러면 다음과 같이 public 디렉토리에 있는 정적 파일을 로드할 수 있다...

Programming/Node.js 2024.02.17

[Express] cookie-parser 미들웨어를 사용해보자.

Cookie 란? → 웹 서버가 생성해서 웹 브라우저로 전송하는 작은 정보 파일. cookie-parser 사용하기 1) 모듈 설치 npm install cookie-parser 2) 모듈 임포트 const cookieParser = require('cookie-parser'); 3) 사용법 const express = require('express'); const cookieParser = require('cookie-parser'); const app = expres(); app.use(cookieParser()); app.get('/', (req, res) => { req.cookies; // 쿠키에 저장된 내용을 가져옴 res.cookie( key, value, options ); // 쿠키에 k..

Programming/Node.js 2024.02.16

[Express] app.use()를 사용한 url 접속 시, interceptor 처리

한 서비스에서 url 접속 시, 로그인 접속 여부에 따라 접속이 가능, 아니면 로그인 페이지로 이동하여 로그인 후, 접속할 수 있게 하는 처리 과정이 필요할 것이다. 이를 해결하기 위해서는 url 이동 시, 로그인 검사 여부를 하는 interceptor에서 처리를 하게끔 하는 것이 좋은 방법이라 생각이 들었다. express의 경우 app.use()를 이용하여 손쉽게 해결할 수 있었다. app.use(function(req, res, next) { const originUrl = req.originalUrl; if(/* 로그인 ok ex) 세션 정보로 확인 */) { next(); // url 이동 } else /* 로그인 false인 경우 */ { res.redirect("/login"); // 로그인..

Programming/Node.js 2024.02.14

process.env 및 dotenv 모듈

node.js에서 process란? 현재 실행중인 node.js 프로세스에서 시스템 제어 및 정보에 관한 정보를 담고 있는 전역 객체이다. node 환경에서 process를 입력해보면 현재 실행중인 node.js 프로세스에 대한 시스템 정보들이 담겨져 있는 것을 확인할 수 있다. process.env란? 시스템의 환경변수를 담고 있는 객체이다. node 환경에서 process.env를 입력해보면 환경변수에 설정된 키값들을 확인할 수 있다. 소스에서 하드코딩으로 입력하면 안되는 값들 ex) api 키 및 패스워드 등등 이런 경우에는 외부에 해당 설정 값들을 가지고 있는 파일에서 참조하여 쓰는 것이 올바른 구조인데, node.js의 경우, dotenv 라는 모듈을 통해서 이 부분을 해결할 수 있다. dote..

Programming/Node.js 2024.02.09

EJS (Embedded JavaScript templating) - Template Engine

EJS란 Node.js에서 사용하는 템플릿 엔진이다. 정적인 HTML만 사용하는 경우에, 뷰를 호출하면서 동적 처리가 불가하므로 수고로운 작업을 거쳐야 한다. 그러나, EJS를 쓰게 되면, 뷰를 호출하는 동시에 변수를 넘겨주어 Node에서 HTML로 넘긴 변수를 할 수 있게 된다. ejs 기본 문법 // 자바스크립트를 작성할 수 있다. // 전달받은 변수를 사용할 수 있다. Ejs Tags

Programming/Node.js 2024.01.30

npm ' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다.

Visual Studio Code에서 Terminal이 Power Shell로 되어 있을 때, npm 관련 명령어를 실행하면 발생하는 오류이다. Visual Studio Code 상단 검색 창에서 Ctrl + Shift + P 를 누른 뒤, 'Terminal: Select Command Profile'을 클릭 후, 'Commnad Prompt' 선택 터미널을 종료하고 Ctrl + Shift + ` 을 눌러서 새 터미널을 띄운 뒤, npm 관련 명령어를 실행하면 정상 작동한다. ※ 그래도 안된다면, Visual Studio Code를 재부팅해보자.

Programming/Node.js 2024.01.28

요청 데이터를 파싱하는 방법 express.json, express.urlencoded

프론트에서 node.js로 요청 데이터를 보낼 때, url이 아닌 request body에 들어 있는 경우, req.body를 통해서 해당 응답 데이터를 참조하기는 어렵다. 이 때, 이 부분을 쉽게 해결해주는 미들웨어가 express.json, express.urlencoded이다. express.json() → 'Content-Type': 'application./json' 을 해석 express.urlencoded() → 'Content-Type': 'application/x-www-form-urlencoded'을 해석 const express = require('express'); const app = express(); /* 아래 두 줄을 추가해준다. */ app.use(express.json()..

Programming/Node.js 2024.01.21

nodemon '파일을 로드할 수 없습니다.' 오류 해결

Windows Power Shell을 관리자 권한으로 실행 get-help Set-ExecutionPolicy 입력. Set-ExecutionPolicy RemoteSigned 입력 후 y를 입력. 이후 다시 nodemon을 실행하면 정상적으로 실행되는 것을 확인할 수 있다. 간단한 nodemon 설치 방법 node.js로 서버를 실행 후, 수정 내역을 재실행 없이 바로 반영할 수 있는 패키지가 있다. 바로 nodemon 이라는 패키지. npm install nodemon 을 입력하여 해당 패키지를 설치해준다. 그리고 nodemon xxx.js 로 실행해주면 끝!

Programming/Node.js 2024.01.20
728x90