meadowlark.js 1.72 KB
var express = require('express');
//require : 모듈 가져오는 함수
//include 와 비슷한 느낌이군.
//기본적으로 node_modules 디렉토리에서 찾는다
// ./를 붙이면 거기서 찾지 않는다.
var fortune = require('./lib/fortune.js');

//if(app.thing ====null) console.log('bleat');

var app = express();
app.use(express.static(__dirname + '/public'));

var handlebars = require('express-handlebars').create({ defaultLayout: 'main' });
app.engine('handlebars', handlebars.engine);
app.set('view engine', 'handlebars');

app.set('port', process.env.PORT || 3000);

//쿼리스트링 감지하는 미들웨어는 이것을 사용할 라우터 보다 앞에 있어야함.
app.use(function(req,res,next){
res.locals.showTests = app.get('env') !=='production' && req.query.test === '1';
next();
});


app.get('/', function (req, res) {
    res.render('home');
});

app.get('/tours/hood-river', function(req,res){
    res.render('tours/hood-river');
});
app.get('/tours/oregon-coast', function(req,res){
    res.render('tours/oregon-coast');
});
app.get('/tours/request-group-rate',function(req,res){
    res.render('tours/request-group-rate');
});

app.get('/about', function (req, res) {
 //   var randomFortune = fortunes[Math.floor(Math.random() * fortunes.length)];
    res.render('about', {
         fortune : fortune.getFortune(),
         pageTestScript: '/qa/tests-about.js'
        });
});

//404 Page
app.use(function (req, res, next) {
    res.status(404);
    res.render('404');
});
app.use(function (err, req, res, next) {
    res.status(500);
    res.render('500');
});

app.listen(app.get('port'), function () {
    console.log('Express started on http://localhost:' + app.get('port')  + '; press Ctrl-C to terminate.');
});