express는 node.js 용 프레임워크다. 보통은 node.js 와 express를 함께 설치한다.
- node.js 홈페이지->다운로드 메뉴로 들어가서 사용 중인 운영체제를 선택해서 파일을 다운받은 후, 각 운영체제에 맞게끔 설치한다.

- 설정은 기본설정으로 계속 진행시켜도 됨..도중에 옵션을 고르는 화면에 npm 패키지도 들어있으니 설치를 할 것.

- 설치가 끝나면 콘솔 혹은 커멘드라인(윈도우는 실행->cmd 입력)에서 설치가 잘 되었는지 확인하기 위해서 node.js와 npm 버전을 찍어본다.
- node --version
- npm --version
- 다음과 같이 Express 를 설치하기 위해서 프로젝트용 폴더를 만든 후, npm init 명령어를 사용하여 package.json 파일을 만들어서 초기화를 한다. 초기화 할 때 명칭이나 제작자 정보 등을 입력하라고 나오는데 그냥 엔터를 치면 된다.
$ mkdir new_project
$ cd new_project/
$ npm init
# 실문 나올 때 그냥 엔터 계속 치면 됨..ㅋ
$ ls
package.json
package.json 파일 내용은 다음과 같다.
{
"name": "new_project",
"version": "1.0.0",
"description": "New Project",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Kazuki Nakajima",
"license": "MIT",
"dependencies": {
"express": "^4.13.3"
}
}
- 프로젝트 폴더에서 다음 명령어를 입력하면 express가 자동으로 인스톨 된다.
$ npm install express --save
- 기본적인 사용방법은 다음과 같다.
- 모듈을 로드해서 인스턴스화 한다.
- 웹서버용 포트번호를 지정한다.
- 애플리케이션 처리를 기술한다.
- 프로젝트 폴더에 있는 app.js 를 에디터에서 열고 다음과 같이 편집한다.
app.js
/* 1. express모듈을 로드해서 인스턴스화 한 후 핸들러 생성*/
var express = require("express");
var app = express();
/* 2. listen()메소드를 실행해서 3000번 포트를 대기상태로 만듦*/
var server = app.listen(3000, function(){
console.log("Node.js is listening to PORT:" + server.address().port);
});
/* 3. 애플리케이션 처리를 기술하는 부분 */
// 샘플데이터
var photoList = [
{
id: "001",
name: "photo001.jpg",
type: "jpg",
dataUrl: "http://localhost:3000/data/photo001.jpg"
},{
id: "002",
name: "photo002.jpg",
type: "jpg",
dataUrl: "http://localhost:3000/data/photo002.jpg"
}
]
// 샘플데이터를 가져오기 위한 API
app.get("/api/photo/list", function(req, res, next){
res.json(photoList);
});
- 콘솔 혹은 커멘드라인에 node app.js 명령어를 입력해서 실행시킨다.
$ node app.js
Node.js is listening to PORT:3000
- 웹 브라우저를 열고 localhost:3000/api/photo/list 로 접속하면 아래와 같은 화면이 뜬다.

- 동적인 API를 작성하는 방법 : get방식으로 넘길 때 쿼리스트링의 photoId 에 값이 들어가고 그것을 req.params.photoId 로 받아서 사용이 가능하다. Restful API 를 구현할 때 유용하다.
app.js
app.get("/api/photo/:photoId", function(req, res, next){
var photo;
for (i = 0; i < photoList.length; i++){
if (photoList[i].id == req.params.photoId){
var photo = photoList[i];
}
}
res.json(photo);
});
댓글
댓글 쓰기