본문 바로가기

Back-End/Node.js

(103)
Express - 16. express generator Express 애플리케이션 생성기 Express 애플리케이션 생성기 애플리케이션의 골격을 신속하게 작성하려면 애플리케이션 생성기 도구인 express를 사용하십시오. 다음의 명령을 이용해 express를 설치하십시오. $ npm install express-gener expressjs.com 설치 npm install express-generator -g - 사용방법에 대한 예시 보기 express -h express를 이용하여 프로젝트 실행하기 express my-app[디렉토리명] my-app 프로젝트를 생성한다. cd my-app npm install my-app 디렉토리로 이동하고, my-app에 있는 package.json에 있는 필요한 dependencies를 node_modules 디렉토리에..
Express - 15. 보안 프로덕션 환경의 Express를 위한 보안 우수 사례 프로덕션 우수 사례: 보안 개요 “프로덕션 (production)” 이라는 용어는 소프트웨어 라이프사이클 중 애플리케이션 또는 API가 최종 사용자 또는 소비자에게 정식으로 제공되는 단계를 말합니다. expressjs.com 보안 지침 1. Express를 최신 버전으로 유지하기 2. TLS 사용하기 (https) 3. Helmet 사용하기 - 발생하는 보안 이슈를 자동으로 해결해주는 모듈 - Helmet 설치 $ npm install --save helmet - Helmet 사용 var helmet = require('helmet'); app.use(helmet()); - 자동으로 Helmet이 가진 기능들이 기본적으로 설정된다. 또한 이의 기능들의..
Express - 14.3. 라우터 - 파일로 분리 - index 목표 현업에서는 라우트 개수가 1000개 2000개로 엄청 많다. 이를 정리하는 테크닉을 배우자. (1) 주소체계 변경 (2) 파일로 분리 console.log(`Example app listening at http://localhost:${port}`)) routes>index.js var express = require('express'); var router = express.Router(); var template = require('../lib/template'); // 1. 홈 페이지 // app.get('/', (req, res) => { res.send('Hello World!')}) router.get('/', function(request, response){ var title = 'W..
Express - 14.2. 라우터 - 파일로 분리 목표 현업에서는 라우트 개수가 1000개 2000개로 엄청 많다. 이를 정리하는 테크닉을 배우자. (1) 주소체계 변경 (2) 파일로 분리 { res.send('Hello World!')}) app.get('/', function(request, response){ var title = 'Welcome'; var description = 'Hello, Node.js'; var list = template.list(request.list); var html = template.html(title, list, `create`, `${title}${description} ` ); response.send(html); }); app.use(function(req, res, next){ res.status(404..
Express - 14.1. 라우터 - 주소체계변경 목표 현업에서는 라우트 개수가 1000개 2000개로 엄청 많다. 이를 정리하는 테크닉을 배우자. (1) 주소체계 변경 /topic - /delete_process -> /topic/delete_process - /create -> /topic/create - 위의 세 경우 코드를 pageid 위로 옮김 const express = require('express'); const app = express(); const fs = require('fs'); const path = require('path'); const qs = require('querystring'); const sanitizeHtml = require('sanitize-html'); const template = require('./li..
Express - 13. 에러처리 목표 에러처리하는 방법 알기 1. 존재하지 않는 페이지를 찾았을 때 발생하는 에러 (404) http상에서는 404 Not found 에러를 보내주기로 약속되어 있다. Google에 express 404 검색해보자. Express 자주 묻는 질문(FAQ) 자주 묻는 질문(FAQ) 애플리케이션을 어떻게 구조화해야 합니까? 이 질문에는 정확한 답이 없습니다. 그 답은 애플리케이션의 규모 및 참여하는 팀의 규모에 따라 달라질 수 있습니다. 최대한의 � expressjs.com 즉, 코드 아래에 다음 코드를 추가해준다. 이 코드는 미들웨어이다. 미들웨어는 순차적으로 실행된다. 이 코드를 마지막인 app.listen위에 작성하게 되면 위의 작성한 path들을 못찾고 그외의 주소에 접근한 경우이다. 그때 404 s..
Express - 12. 정적인 파일의 서비스 목표 Express로 정적인 파일을 서비스하는 방법을 알자. - 홈페이지에 이미지 띄우기 Beautiful Free Images & Pictures | Unsplash Beautiful, free images and photos that you can download and use for any project. Better than any royalty free or stock photos. unsplash.com Unsplash가 제공하는 이미지들은 저작권에 구애없이 사용할 수 있다. 알아두자! 다음과 같이 이미지 하나를 다운받고 가져오고 이 이미지를 홈페이지에 띄워보자. hello.jpg에 접속하려면 정적인 파일을 서비스하는 것을 허용하고 셋팅해주어야 한다. Express 정적 파일 제공하기 Expr..
Express - 11. 미들웨어의 실행순서 목표 미들웨어 실행순서를 next 사용법을 통해 알아보자. 미들웨어의 유형 Express 미들웨어 사용 미들웨어 사용 Express는 자체적인 최소한의 기능을 갖춘 라우팅 및 미들웨어 웹 프레임워크이며, Express 애플리케이션은 기본적으로 일련의 미들웨어 함수 호출입니다. 미들웨어 함수는 요청 오�� expressjs.com 미들웨어에는 여러 종류가 있다. 이전에 다뤄본 미들웨어는 application-level middleware이다. 즉, app변수에는 application 객체가 담겨있는데, 그 객체 중에서 use, get, post를 통해 middleware를 등록하고 사용하는 것이다. Third-party middleware도 또한 body-parser, compression을 통해 살펴보았..

반응형