이제 마지막 준비과정인 app.js 세팅입니다. 기본설정도 적응하면 편할 수 있지만, swig엔진 및 추가 기능을 쓰기위해서는 조금 내용을 수정해줘야 합니다.
var express = require('express'); var http = require('http'); var path = require('path'); // swig engine var swig = require('swig'); // routes var routes = require('./routes'); var user = require('./routes/user'); // express var app = express();
1.기본 선언부분입니다. 다른 점이 보이시나요? 추가적으로 제가 선언해준 항목은 swig engine부분 뿐입니다. 이렇게 해야지 swig 엔진을 쓸 수 있습니다.
// all environments app.set('port', process.env.PORT || 2727); // setting swig engine app.engine('html', swig.renderFile); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'html'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.json()); app.use(express.urlencoded()); app.use(express.methodOverride()); app.use(express.cookieParser('your secret here')); // available req.body app.use(express.bodyParser()); app.use(express.session()); app.use(app.router); app.use(require('stylus').middleware(path.join(__dirname, 'public'))); app.use(express.static(path.join(__dirname, 'public')));
2.미들웨어 부분입니다. 여기서 신경써야 할 부분이 많은 데 일단 첫번째로 앞으로 접속할 포트를 설정해주는 부분입니다. 저는 2727으로 설정해 놓았습니다. 원하는 포트를 설정해서 열어주시면 되고 나중에 개발할때 결과를 확인하려면 http://localhost:2727(저의 경우)로 접속하면 됩니다.
3.두번째로 살펴볼 부분은 swig engine 설정부분입니다. app.engine('html', swig.renderFile)부분이 추가되었고, 원래는 ejs로 되어있어야할 app.set 부분을 swig으로 바꾸어 주었습니다.
4.그 다음에 cookieParser 다음에 app.use(express.bodyParser())부분을 추가해주었습니다. 이는 나중에 자주 사용하게 될 request명령어인 req.body를 쓰기위해 꼭 필요합니다.
// development only if ('development' == app.get('env')) { app.use(express.errorHandler()); app.set('view cache', false); swig.setDefaults({ cache: false }); }
5.마지막으로 developement 부분입니다. 여기에 app.set('view cache', false)와 swig.setDefaults({ cache: false })이 추가 되어있는데 이는 개발할때 설정과 파일을 바꾸었을시 캐쉬가 남아 제대로 변경이 안되었을 경우를 방지하기 위해 cache설정을 false로 하여 새로고침만으로 이전 기록이 남지 않게 변경된 화면을 불러올 수 있게 하는 것입니다.
6.이제 모든 과정이 완료되었습니다! 정말 수고하셨습니다. 약간은 긴 내용이었지만, 튼튼한 주춧돌 위에 훌륭한 집이 지어지는 것처럼 node.js를 공부할 튼튼한 기초를 세워놓는 것이니 기억이 안나시면 나중에도 꼭 다시 한번 보시기 바랍니다. 이제 첫째주의 node.js 강의를 마음 편하게 따라오시면 됩니다.
※ 이 내용은 node.js, mongoDB 스터디페이지 codeMembersPage에서 진행되는 내용을 정리한 것입니다. 모든 저작권은 본인에게 있으며 상업적 이용, 컨텐츠 변경 가능하며 저작자 표기만 해주시면 됩니다.
WRITTEN BY
- 강수명 Vanns Kang
하고 싶은거 하고 사는 조금은 잘 빡치는 평화주의자