본문 바로가기
반응형

분류 전체보기68

[5-3] Express.js 라우터 모듈화 Express.js에서 라우팅 로직을 모듈화하여 구성하면, 코드의 가독성을 높이고 유지보수를 쉽게할 수 있습니다. 1) 새로운 파일에 라우터 코드 작성하기 users.js 파일에 /users 경로의 GET 요청에 대한 핸들러를 작성합니다. users.js const express = require('express'); const router = express.Router(); router.get('/', (req, res) => { res.send('User List'); }); module.exports = router; router 객체는 express.Router() 메소드를 호출하여 생성됩니다. 이 객체는 Express.js에서 라우팅 로직을 처리하는 핵심 객체입니다. router.get() 메소.. 2023. 4. 5.
[5-1-1] Express.js 파라미터를 이용한 동적 URL처리 파라미터란? 파라미터는 함수나 메소드에 전달되는 값을 나타내는 용어입니다. 함수나 메소드를 호출할 때, 인자(argument)를 전달하는데, 이러한 인자는 함수나 메소드에서 파라미터(parameter)로 받아들여지게 됩니다. 예를 들어, 다음과 같은 함수를 생각해보겠습니다. function sum(a, b) { return a + b; } sum(1, 2) 위 함수는 a와 b라는 두 개의 파라미터를 가지고 있습니다. sum(1, 2)와 같이 호출할 때, 1과 2는 각각 a와 b라는 파라미터에 전달됩니다. 함수 내부에서는 전달된 파라미터를 이용하여 연산을 수행하고, 그 결과를 반환합니다. Express.js에서의 파라미터는 URL 경로에서 추출되는 값입니다. 이러한 파라미터는 URL 경로에서 :를 사용하여.. 2023. 4. 5.
[4-3] Express.js 미들웨어 등록 메소드 - app.use() Express.js에서 app.use() 메소드는 미들웨어를 등록하는 역할을 합니다. 미들웨어는 클라이언트 요청을 처리하기 전에 실행되는 함수로, 요청과 응답에 대한 정보를 변경하거나, 다음 미들웨어를 호출하기 전에 처리할 작업을 수행할 수 있습니다. 미들웨어 함수 보통 req, res, next 세 개의 매개변수를 받습니다. req는 클라이언트 요청에 대한 정보를, res는 클라이언트에게 보낼 응답 정보를 담고 있습니다. next는 다음 미들웨어를 호출하는 함수로, 해당 함수를 호출하지 않으면 다음 미들웨어가 실행되지 않습니다. app.use() 메소드 두 개의 인자를 받습니다. 첫 번째 인자는 미들웨어 함수로, 두 번째 인자는 선택적으로 경로(prefix)를 지정할 수 있습니다. 경로를 지정하지 않으.. 2023. 3. 31.
[4-2] Express.js HTTP요청의 body를 파싱하기 위한 미들웨어 - body-parser body-parser는 Express.js 애플리케이션에서 들어오는 HTTP 요청의 body를 파싱하기 위한 미들웨어 패키지입니다. HTTP 요청은 보통 헤더와 바디로 구성되어 있는데, 헤더는 요청에 대한 메타데이터를 담고, 바디는 실제 데이터를 담고 있습니다. 예를 들어, HTML form을 사용해 데이터를 서버로 전송하는 경우, form 데이터는 HTTP 요청의 body에 담겨서 전송됩니다. HTTP 요청 본문을 파싱(parse)하여 req.body 객체로 만들어주기 때문에, 클라이언트가 요청한 데이터를 쉽게 가져와서 처리할 수 있고 여러 가지 유형의 요청 데이터를 파싱할 수 있습니다 - .json() : JSON 형식의 본문 파싱 - .urlencoded() : URL로 인코딩된 본문 파싱 - .r.. 2023. 3. 31.
[5-2] Express.js 라우팅 방식 - app.get() vs app.route() vs router.route() Express에서는 HTTP 요청 메소드와 URL 경로에 따라 요청을 처리하는 여러 방식이 있고, 상황에 맞게 효율적인 방법을 선택해 사용하면 됩니다. Individual Route Handlers app.get() 방식 단일 라우팅 처리에 적합한 방식입니다. 간단한 라우트를 처리할 때 사용합니다. 지난 라우팅 소개 포스팅에서 했던 내용입니다. const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello World!'); }); 이러한 방식은 간단하고 직관적이지만, 라우팅 로직이 길어지면 가독성이 나빠질 수 있기 때문에 간단한 라우팅 처리가 아니라면 아래 방법을 사용하는 것이 좋습.. 2023. 3. 30.
[5-1] Express.js 라우팅(Routing), 라우트(Route), 라우터(Router) 라우팅 라우팅(Routing)은 클라이언트가 요청한 URI(Uniform Resource Identifier)에 따라 적절한 핸들러 함수를 찾아 응답하는 것을 의미합니다. 라우팅은 웹 애플리케이션에서 매우 중요한 역할을 합니다. 클라이언트의 요청이 올바르게 처리되지 않으면, 잘못된 응답을 보내거나, 서버의 오류를 유발할 수 있습니다. 따라서, 라우팅은 웹 애플리케이션의 구조를 결정하는 중요한 요소 중 하나입니다. Express.js에서는 app.get(), app.post(), app.put(), app.delete() 등의 메소드를 사용하여 라우팅을 설정할 수 있습니다. 이들 메소드는 각각 GET, POST, PUT, DELETE 메소드에 대한 핸들러 함수를 등록하는 역할을 합니다. 이 때, 요청을 분.. 2023. 3. 29.
[4-2-3] morgan 미들웨어 로그 포맷 사용자 정의하기 morgan 미들웨어에서 기본 포맷으로 사용하지 않고 세부적인 로그 포맷을 설정 하고 싶을 때 사용합니다. 'tokens' 객체 활용 tokens 객체는 morgan에서 제공하는 토큰들을 담고 있는 객체이며, 클라이언트의 요청 정보와 서버의 응답 정보를 토큰으로 변환할 수 있습니다. morgan(function (tokens, req, res) { return [ tokens.method(req, res), tokens.url(req, res), tokens.status(req, res), tokens.res(req, res, 'content-length'), '-', tokens['response-time'](req, res), 'ms' ].join(' ') }) 위 예시의 각 토큰들은 클라이언트의 요.. 2023. 3. 28.
[4-2] HTTP 요청에 대한 정보를 로그로 출력해주는 미들웨어 - Morgan morgan은 HTTP 요청에 대한 로그를 출력하는 미들웨어로, Express.js에서 자주 사용됩니다. morgan은 다양한 로그 포맷을 지원하며, 미들웨어로 사용하면 HTTP 요청에 대한 다양한 정보를 출력할 수 있습니다. 예를 들어, 요청의 HTTP 메소드, URL, 상태 코드, 응답 시간 등을 출력할 수 있습니다. > 설치하기 npm install morgan > 사용하기 const express = require('express'); const morgan = require('morgan'); const app = express(); // 로그 포맷 지정 const logFormat = '[:date[iso]] :method :url :status :response-time ms - :res[c.. 2023. 3. 28.
[4-2] express.js 미들웨어 여러 기능들 Express.js에서는 다양한 미들웨어를 제공하며, 각 미들웨어는 다양한 기능을 수행합니다. 기본적인 미들웨어 종류를 예로 들면 아래 몇 가지가 있습니다. | express.static 정적 파일을 제공하는 미들웨어 HTML, CSS, 이미지, JavaScript 파일 등을 웹 브라우저에 제공할 때 사용 express.static 사용방법 | body-parser HTTP 요청에서 body 부분을 추출하여 request 객체에 body 속성으로 추가하는 미들웨어 주로 POST나 PUT 요청을 처리할 때 사용 body-parser 사용방법 | morgan HTTP 요청에 대한 정보를 로그로 출력해주는 미들웨어 주로 개발 시 디버깅 용도로 사용 morgan 사용방법 | cookie-parser 쿠키를 처리.. 2023. 3. 27.
[1-2] Node.js 패키지 관리도구 - npm npm (Node.js Package Manager) Node.js 패키지를 관리하는 도구로, Node.js 패키지는 코드와 해당 코드가 의존하는 다른 패키지들로 구성되어 있습니다. npm은 Node.js를 설치할 때 함께 설치됩니다. https://www.npmjs.com/ npm 사이트에서 필요한 패키지를 검색하면 설치방법과 사용방법등을 알 수 있습니다. npm이 하는 일 > 패키지 관리 npm은 JavaScript 패키지를 관리합니다. 개발자는 npm을 사용하여 프로젝트에 필요한 패키지를 찾고, 설치하고, 업데이트할 수 있습니다. > 의존성 관리 npm은 패키지 간 의존성 관리를 처리합니다. 예를 들어, 프로젝트에서 사용하는 패키지 A가 패키지 B에 의존하는 경우, npm은 패키지 B를 자동으로 설.. 2023. 3. 27.
반응형