UNPKG

1.91 kBJavaScriptView Raw
1var express = require('express');
2var path = require('path');
3var favicon = require('static-favicon');
4var logger = require('morgan');
5var cookieParser = require('cookie-parser');
6var bodyParser = require('body-parser');
7
8var debug = require('debug')('lab');
9
10var routes = require('./routes/index');
11var users = require('./routes/users');
12
13var app = express();
14
15// view engine setup
16app.set('views', path.join(__dirname, 'views'));
17app.set('view engine', 'jade');
18
19app.use(favicon());
20app.use(logger('dev'));
21app.use(bodyParser.json());
22app.use(bodyParser.urlencoded());
23app.use(cookieParser());
24app.use(express.static(path.join(__dirname, 'public')));
25
26var multer = require('../');
27app.use(multer({
28 rename: function (fieldname, filename) {
29 return Date.now() + fieldname + filename;
30 },
31 onParseStart: function() {
32 console.log('STARTING ...');
33 },
34 dest: './images',
35 onParseEnd: function() {
36 console.log('COMPLETED!');
37 },
38 limits: {
39 files: 5
40 }
41}));
42
43app.use('/', routes);
44app.use('/users', users);
45
46/// catch 404 and forward to error handler
47app.use(function(req, res, next) {
48 var err = new Error('Not Found');
49 err.status = 404;
50 next(err);
51});
52
53/// error handlers
54
55// development error handler
56// will print stacktrace
57if (app.get('env') === 'development') {
58 app.use(function(err, req, res, next) {
59 res.status(err.status || 500);
60 res.render('error', {
61 message: err.message,
62 error: err
63 });
64 });
65}
66
67// production error handler
68// no stacktraces leaked to user
69app.use(function(err, req, res, next) {
70 res.status(err.status || 500);
71 res.render('error', {
72 message: err.message,
73 error: {}
74 });
75});
76
77
78module.exports = app;
79
80app.set('port', process.env.PORT || 3000);
81
82var server = app.listen(app.get('port'), function() {
83 debug('Express server listening on port ' + server.address().port);
84});
85