express-template/app.js

106 lines
2.4 KiB
JavaScript
Raw Normal View History

2021-06-19 09:55:58 +00:00
require('./dto/init')
var createError = require('http-errors')
var express = require('express')
var path = require('path')
var cookieParser = require('cookie-parser')
var lessMiddleware = require('less-middleware')
var logger = require('morgan')
const typeorm = require('typeorm')
const event = require('./event')
Object.defineProperty(express.response,'error',{
value:function (error,statusCode = 400,errObj = {}) {
errObj.error = error
this.status(statusCode).send(errObj)
},
enumerable:false,
writable:false,
configurable:false
})
Object.defineProperty(express.response,'list',{
value:function (data,resObj = {}) {
resObj.list = data
this.status(200).send(resObj)
},
enumerable:false,
writable:false,
configurable:false
})
Object.defineProperty(express.response,'detail',{
value:function (data,resObj = {}) {
resObj.detail = data
this.status(200).send(resObj)
},
enumerable:false,
writable:false,
configurable:false
})
Object.defineProperty(express.response,'success',{
value:function (msg,resObj = {}) {
resObj.message = msg
this.status(200).send(resObj)
},
enumerable:false,
writable:false,
configurable:false
})
2021-06-19 09:55:58 +00:00
/**
* 连接数据库
*/
typeorm.createConnection().then(()=>{
// 连接成功通知bin/www开始监听http
event.emit('typeorm-connection')
console.log('typeorm启动成功')
})
var indexRouter = require('./routes/index')
var usersRouter = require('./routes/users')
var adminRouter = require('./routes/admin')
var app = express()
// view engine setup
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'hjs')
app.use(logger('dev'))
app.use(express.json())
app.use(express.urlencoded({ extended: false }))
app.use(cookieParser())
app.use(lessMiddleware(path.join(__dirname, 'public')))
app.use(express.static(path.join(__dirname, 'public')))
app.use('/', indexRouter)
app.use('/users', usersRouter)
app.use('/admin', adminRouter)
// catch 404 and forward to error handler
app.use(function (req, res, next) {
next(createError(404))
})
// error handler
app.use(function (err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message
res.locals.error = req.app.get('env') === 'development' ? err : {}
// render the error page
res.status(err.status || 500)
res.render('error')
})
module.exports = app