You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.3 KiB
74 lines
2.3 KiB
var express = require('express') |
|
var path = require('path') |
|
var favicon = require('static-favicon') |
|
var logger = require('morgan') |
|
var cookieParser = require('cookie-parser') |
|
var bodyParser = require('body-parser') |
|
var routes = require('./routes/index') |
|
var app = express() |
|
|
|
// view engine setup |
|
app.set('views', path.join(__dirname, 'views')) |
|
app.set('view engine', 'pug') |
|
|
|
app.use(favicon()) |
|
app.use(logger('dev')) |
|
app.use(bodyParser.json()) |
|
app.use(bodyParser.urlencoded()) |
|
app.use(cookieParser()) |
|
app.use(require('stylus').middleware(path.join(__dirname, 'style'))) |
|
app.use(express.static(path.join(__dirname, 'style'))) |
|
app.use(express.static(path.join(__dirname, 'client'))) |
|
app.get('/jquery.min.js', (req, res) => { |
|
res.sendFile(path.join(__dirname, 'node_modules', 'jquery', 'dist', 'jquery.min.js')) |
|
}) |
|
app.get('/jquery-ui.structure.min.css', (req, res) => { |
|
res.sendFile(path.join(__dirname, 'node_modules', 'jqueryui', 'jquery-ui.structure.min.css')) |
|
}) |
|
app.get('/jquery-ui.theme.min.css', (req, res) => { |
|
res.sendFile(path.join(__dirname, 'node_modules', 'jqueryui', 'jquery-ui.theme.min.css')) |
|
}) |
|
app.get('/jquery-ui.min.css', (req, res) => { |
|
res.sendFile(path.join(__dirname, 'node_modules', 'jqueryui', 'jquery-ui.min.css')) |
|
}) |
|
app.get('/jquery-ui.min.js', (req, res) => { |
|
res.sendFile(path.join(__dirname, 'node_modules', 'jqueryui', 'jquery-ui.min.js')) |
|
}) |
|
app.use(express.static(path.join(__dirname, 'node_modules', 'viz.js'))) |
|
app.use(express.static(path.join(__dirname, 'node_modules', 'socket.io-client', 'dist'))) |
|
app.use(express.static(path.join(__dirname, 'node_modules', 'docker.js'))) |
|
|
|
app.use('/', routes) |
|
|
|
/// catch 404 and forwarding 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: {} |
|
}) |
|
}) |
|
|
|
module.exports = app
|
|
|