sjy-ecos/app.js

93 lines
2.4 KiB
JavaScript
Raw Normal View History

2016-12-23 10:16:12 +00:00
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 ejs = require('ejs');
var fs = require('fs');
2018-01-30 04:26:04 +00:00
var session = require('express-session');
var flash = require('express-flash-2');
2016-12-23 10:16:12 +00:00
2017-02-06 09:10:14 +00:00
2016-12-25 12:58:14 +00:00
if (process.env.NODE_ENV == '' || process.env.NODE_ENV == undefined) {
2018-01-30 04:26:04 +00:00
process.env.NODE_ENV = 'development'
2016-12-25 12:58:14 +00:00
} else {
2018-01-30 04:26:04 +00:00
process.env.NODE_ENV = 'production'
2016-12-24 19:15:29 +00:00
}
2016-12-23 10:16:12 +00:00
2016-12-25 12:58:14 +00:00
if (process.env.NODE_ENV == 'development') {
2018-01-30 04:26:04 +00:00
console.log('server run as development mode');
global.Connections = require('./config/conn.dev.js');
2016-12-23 10:16:12 +00:00
}
2016-12-25 12:58:14 +00:00
if (process.env.NODE_ENV == 'production') {
2018-01-30 04:26:04 +00:00
console.log('server run as production mode');
global.Connections = require('./config/conn.prod.js');
2016-12-23 10:16:12 +00:00
}
var app = express();
app.disable('view cache');
app.set('views', path.join(__dirname, 'views'));
// app.set('view engine', 'ejs');
app.set('view engine', 'html');
app.engine('html', ejs.renderFile);
2017-01-09 08:41:53 +00:00
app.use(require('express-promise')());
2016-12-23 10:16:12 +00:00
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__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')));
2018-01-30 04:26:04 +00:00
app.use(session({
secret: 'sjy_eco',
resave: false,
saveUninitialized: true
}));
app.use(flash());
app.use(function(req, res, next) {
res.locals.user = req.session.user;
next();
});
2016-12-23 10:16:12 +00:00
app.use('/', require('./routes/index'));
var routes = fs.readdirSync("../routes/");
for (var route in routes) {
2018-01-30 04:26:04 +00:00
if (routes.hasOwnProperty(route)) {
app.use("/" + routes[route].replace('.js', ''), require('./routes/' + routes[route]));
}
2016-12-23 10:16:12 +00:00
}
// catch 404 and forward to error handler
app.use(function (req, res, next) {
2018-01-30 04:26:04 +00:00
var err = new Error('Not Found');
err.status = 404;
next(err);
2016-12-23 10:16:12 +00:00
});
// error handler
app.use(function (err, req, res, next) {
2018-01-30 04:26:04 +00:00
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
2016-12-23 10:16:12 +00:00
2018-01-30 04:26:04 +00:00
// render the error page
res.status(err.status || 500);
res.render('error');
2016-12-23 10:16:12 +00:00
});
module.exports = app;
2017-01-09 08:41:53 +00:00
var pg_eco = require('./model/conn/pg_eco');
pg_eco.connTest();
2018-01-30 04:26:04 +00:00
// var pg_gis = require('./model/conn/pg_gis');
// pg_gis.connTest();