>npm install express
>npm install routes
>npm install jade
1. app.js
/*
폴더 구조
1. /node_modules - nodejs module이 설치될 공간
2. /public - connect 모듈의 Static 미들웨어를 사용하여 웹 서버에 올라가는 폴더
(js, css, images등 리소스 생성)
3. /routes - 페이지 라우트와 관련된 모듈 (index.js)
4. /views - EJS, Jade 파일과 같은 템플릿 파일
express 프레임워크 설정
1. basepath - 기본 URL 지정
2. views - 뷰 폴더 지정
3. view engine - 뷰 엔진 지정
4. view option - 뷰 엔진 옵션 지정
5. view cache - 뷰 캐시를 사용할지 지정
6. case sensitive routes - 페이지 라우트를 할 때 대소문자를 구분할지 지정
7. stric routing - 엄격 경로 확정을 사용할지 지정
*/
//Module
var express = require('express'),
routes = require('./routes');
var app = module.exports = express();
//Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
// 실행 환경 설정
app.configure('development', function(){
app.use(express.errorHandler({dumpExceptions:true, showStack:true}));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
//Routes
// GET - /
app.get('/', routes.index);
app.get('/redirect', routes.redirect);
app.get('/product', routes.product);
app.get('/product/insert', routes.product.insert);
app.get('/product/edit', routes.product.edit);
app.listen(3000);
2. /routes/index.js
/* get hompage */
exports.index = function (req, res){
res.render('index', {title:'Express'});
}
exports.life = function(req, res){
res.writeHead(200, {'Content-Type':'text/html'});
res.end('Life Page
');
}
exports.redirect = function(req, res){
//페이지 강제 이동
//res.writeHead(302, {'Location' : 'http://applenamu3.blog.me'});
//res.end();
res.redirect('http://applenamu3.blog.me');
}
// GET - /product
exports.product = function(req, res){
res.render("product", {
title : 'Product Page'
});
}
// GET - /product/insert
exports.product.insert = function(req, res){
res.render("product/insert",{
title:'Insert Page'
});
}
// GET - /product/edit
exports.product.edit = function(req, res){
res.render('product/edit', {
title:'Edit Page'
});
}
3. /views/index.jade, /views/product/index.jade, insert.jade, edit.jade
h1= title p Node.js Programing for Modern Web Development hr
'프로그래밍 > nodeJS' 카테고리의 다른 글
| [nodeJS] Socket.IO 방만들기 (0) | 2015.01.27 |
|---|---|
| [nodeJS] Socket.IO 모듈 (0) | 2015.01.27 |
| [nodeJS] connect / connect_router 모듈 (0) | 2015.01.27 |
| [nodeJS] jade 모듈 (0) | 2015.01.27 |
| [nodeJS] ejs 모듈 (0) | 2015.01.27 |