[express 쉽게 구조 생성하기 - 리눅스 환경]
1) npm install -g express-generator (오류가 난다면 sudo를 붙여서) : npm을 통해 express 구조 생성기를 다운받음
2) 다운로드 후 express -h 를 콘솔창에 입력하여 generator 명령어가 정상동작하는지 확인
=> -h 은 옵션값으로 어떤 작업을 할 수 있는지 알 수 있음
=> generator로 어떻게 구조를 생성할 수 있는지 나옴 : Usage 참고
3) express 옵션값 디렉토리명 순으로 입력하여 구조 생성하기
4) express myapp : 우선 아무런 옵션값 없이 생성해보기
5) cd myapp : 해당 디렉토리로 이동
6) npm install : express 프로젝트에 필요한 모듈을 다운로드받음(package.json에 모듈 목록 참고함, 최초 다운로드 받고 싶다면 여기에 명시해주면 됨)
7) DEBUG=myapp:* npm start : 어플리케이션 디버깅을 하기위한 명령어와 서버 실행 명령어
=> myapp/bin/www 파일을 열어보면 3000번으로 포트번호가 기본 설정되어있음
=> aws와 같은 클라우드 서버를 활용한다면 서버의 포트번호 80과 3000번을 열어둬야 외부 클라이언트로 접속가능함
8) express 전체구조는 아래와 같음
=> express -h를 통해서 알아본 옵션값으로, package.json 필요한 모듈 미리 명시하는 것등으로 기본 구조 만드는 것에 커스텀할 수 있음
[express 구조]
1) package.json : 프로젝트에 필요한 노드 모듈, 프로젝트 관련 정보를 정의하는 파일
2) app.js : express 객체를 생성하고, express 객체의 메서드를 통해 환경설정을 함
- 정적 파일 호스팅
- express 앱 내 모듈 사용관련 설정(http 요청을 받기위한 모듈, POST 요청 데이터 접근을 위한 모듈 등)
3) routes/index.js : 라우팅 처리를 하는 파일
- 요청에 대한 응답 처리(라우팅)를 하는 파일
- 응답할 때 웹문서를 랜더링(res 객체의 render 메서드를 이용, 템플릿엔진 사용)할 수 있음
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | /* routes/index.js */ var express = require('express') var router = express.Router() router.get('/', function(req, res){ /* 응답처리 */ }) /* app.js */ var express = require('express') var routes = require('./routes/index') var app = express() app.use('/', routes) | cs |
4) views : 템플릿엔진 관련 뷰 파일이 담길 디렉토리
- 앞으로 템플릿엔진 포스팅을 통해 사용 예시를 보게될 것임
- routes 파일(routes/index.js)에서 라우팅을 처리, 요청에 대해 뷰 파일(자바스크립트 연산 결과 + 뷰 코드)을 응답
[참고자료]
1) express 공식홈페이지, Express 생성기 : http://expressjs.com/ko/starter/generator.html
2) html5around, node.js 기본 구조 구축하기 : https://goo.gl/weK4YS
'nodejs' 카테고리의 다른 글
[node.js] express 로그인 정보 전달하기 (0) | 2017.05.15 |
---|---|
[node.js] express 그리고 템플릿엔진 ejs (0) | 2017.05.01 |
[node.js] express 라우팅, CRUD / 쿼리스트링 (0) | 2017.04.20 |
[node.js] express, 웹어플리케이션 정적인파일 관리하기 (0) | 2017.04.19 |
[node.js] express, 웹서버 구축, 설계, 제작 더 쉽게하자 (2) | 2017.04.15 |
댓글