-
제로부터 시작하는 Node.js - 15. express 프레임워크 2 - 라우팅, 실행환경 설정내가 보기 위해 쓰는 것/Node.js 2019. 12. 23. 07:16
1. 라우팅
exports 모듈로 프로젝트를 만들어 사용하면 페이지 렌더링 기능을 활용할 수 있습니다.
express 프레임워크는 자체적으로 File System 모듈을 사용해 페이지를 제공하는 render() 메서드를 제공합니다.
간단한 예제로 render() 메서드를 어떻게 사용하는지 살펴보겠습니다.
views 폴더에 tempPage.jade를 생성하고, 다음처럼 입력합니다.
doctype html html head title = title body h1 #{title} p Node.js Programming is fun hr
* jade파일은 jade라는 템플릿 엔진의 파일 형식입니다. ejs와 비슷한 역할을 하는 템플릿 엔진이라고 보시면 됩니다.
이제 app.js에 다음과 같은 코드를 삽입합니다.
app.get('/temp', function (req, res) { res.render('tempPage', { title: 'Temporary Page' }); });
ejs 모듈의 render()와 비슷하게 첫번째 매개변수에는 파일 이름, 두번째 매개변수에는 전달하는 데이터를 입력하는 형식입니다.
수정 후 실행하고, http://127.0.0.1:3000/temp에 접속해봅시다.
이걸 응용한다면, 페이지별로 폴더로 분류해서 라우팅 할 수있습니다.
또, express 프레임워크는 routes 폴더에 두 js파일로 라우팅을 관리합니다.
어느쪽이든 상관없습니다만 라우팅을 잘 정리시켜주세요.
2. 실행 환경 설정
사실 위 내용도 지금까지 배워온 내용과 중복되는 부분입니다.
그래도 이번 내용은 좀 다른 새로운 내용입니다.
express 프레임워크는 development와 production 이라는 두가지 실행 환경을 제공합니다.
이 부분은 app.js에서도 유추할 수 있습니다.
// catch 404 and forward to error handler app.use(function(req, res, next) { next(createError(404)); }); // error handler app.use(function(err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); res.render('error'); });
가장 큰 차이는 오류를 출력해서 보여주는가 아닌가 입니다.
개발자용 모드로 실행하는 방법은 터미널에 다음과 같이 입력하면 됩니다.
express를 실행하는 법을 처음 배웠을때도 비슷한 구문이 있었죠, 이런 의미였습니다.
다시 production환경으로 변경하는것도 비슷합니다.
매번 이렇게 해야하는 것은 아닙니다.
사실 최종적으로 배포하거나 할 경우, 코드로 작성해둘 수 있습니다.
app.js에 이렇게 추가하면 됩니다.
var app = express(); app.settings.env = 'production';
'내가 보기 위해 쓰는 것 > Node.js' 카테고리의 다른 글
제로부터 시작하는 Node.js - 14. express 프레임워크 1 - 살펴보기 (0) 2019.12.17 제로부터 시작하는 Node.js - 13. MySQL 연결, CRUD 구현 (0) 2019.11.19 제로부터 시작하는 Node.js - 12. RESTful 웹 서비스 개발 (1) 2019.11.16 제로부터 시작하는 Node.js - 11. Express 모듈 - 3 (미들웨어 2) (0) 2019.11.16 제로부터 시작하는 Node.js - 10. Express 모듈 - 2 (미들웨어 1) (0) 2019.11.07