Created
June 28, 2015 09:13
-
-
Save pineoc/f7de3bda3d056c6e84c4 to your computer and use it in GitHub Desktop.
node.js expressjs 4 session 참조 코드
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var express = require('express'); | |
var path = require('path'); | |
var favicon = require('serve-favicon'); | |
var logger = require('morgan'); | |
var cookieParser = require('cookie-parser'); | |
var bodyParser = require('body-parser'); | |
var session = require('express-session'); | |
var parseurl = require('parseurl'); | |
var routes = require('./routes/index'); | |
var users = require('./routes/users'); | |
var app = express(); | |
// view engine setup | |
app.set('views', path.join(__dirname, 'views')); | |
app.set('view engine', 'ejs'); | |
// uncomment after placing your favicon in /public | |
//app.use(favicon(__dirname + '/public/favicon.ico')); | |
app.use(logger('dev')); | |
app.use(bodyParser.json()); | |
app.use(bodyParser.urlencoded({ extended: false })); | |
app.use(cookieParser()); | |
app.use(express.static(path.join(__dirname, 'public'))); | |
app.use(session({ | |
secret: 'keyboard cat', | |
resave: false, | |
saveUninitialized: true | |
})); | |
app.use('/', routes); | |
app.use('/users', users); | |
// catch 404 and forward to error handler | |
app.use(function(req, res, next) { | |
var err = new Error('Not Found'); | |
err.status = 404; | |
next(err); | |
}); | |
// error handlers | |
// development error handler | |
// will print stacktrace | |
if (app.get('env') === 'development') { | |
app.use(function(err, req, res, next) { | |
res.status(err.status || 500); | |
res.render('error', { | |
message: err.message, | |
error: err | |
}); | |
}); | |
} | |
// production error handler | |
// no stacktraces leaked to user | |
app.use(function(err, req, res, next) { | |
res.status(err.status || 500); | |
res.render('error', { | |
message: err.message, | |
error: {} | |
}); | |
}); | |
app.use(function (req, res, next) { | |
console.log('test'); | |
}); | |
module.exports = app; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var express = require('express'); | |
var parseurl = require('parseurl'); | |
var router = express.Router(); | |
router.use(function(req,res,next){ | |
var views = req.session.views; | |
if (!views) { | |
views = req.session.views = {}; | |
} | |
// get the url pathname | |
var pathname = parseurl(req).pathname; | |
// count the views | |
views[pathname] = (views[pathname] || 0) + 1; | |
next(); | |
}); | |
/* GET users listing. */ | |
router.get('/', function(req, res, next) { | |
res.send('respond with a resource'); | |
}); | |
//session test | |
router.get('/stat', function (req, res, next) { | |
var fStr = '/stat num : ' + req.session.views['/stat'] + ' times'; | |
var sStr = '/foo num : ' + req.session.views['/foo'] + ' times'; | |
var tStr = '/bar num : ' + req.session.views['/bar'] + ' times'; | |
var arr = []; | |
arr.push(fStr,sStr,tStr); | |
res.json(arr); | |
}); | |
router.get('/foo',function(req,res,next){ | |
res.send('foo'); | |
}); | |
router.get('/bar',function(req,res,next){ | |
res.send('bar'); | |
}); | |
module.exports = router; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment