refactor app.coffee

This commit is contained in:
jysperm
2014-04-12 17:09:10 +08:00
parent 3bb27af6f0
commit 3b13e5e0b3
2 changed files with 46 additions and 40 deletions

View File

@@ -1 +1,3 @@
require './core'
core = require './core'
core.runWebServer()

View File

@@ -8,56 +8,60 @@ config = require './config'
api = require './api'
db = require './db'
app = express()
exports.runWebServer = ->
db.connect ->
app = express()
i18next.init
fallbackLng: config.i18n.defaultLanguage
resGetPath: path.join(__dirname, 'locale/__lng__.json')
i18next.init
fallbackLng: config.i18n.defaultLanguage
resGetPath: path.join(__dirname, 'locale/__lng__.json')
i18next.registerAppHelper app
app.use i18next.handle
app.use connect.json()
app.use connect.urlencoded()
app.use connect.cookieParser()
app.use connect.logger('dev')
i18next.registerAppHelper app
app.use i18next.handle
app.use connect.json()
app.use connect.urlencoded()
app.use connect.cookieParser()
app.use connect.logger('dev')
app.locals.version = do ->
logs = fs.readFileSync './.git/logs/HEAD', 'utf8'
logs = logs.split "\n"
lastline = logs[logs.length - 2]
app.locals.version = do ->
logs = fs.readFileSync './.git/logs/HEAD', 'utf8'
logs = logs.split "\n"
lastline = logs[logs.length - 2]
result = lastline.match /([a-f0-9]{40})\s([a-f0-9]{40})\s(\S+)\s(\S+)\s(\d+)\s(\+\d+)\s(.+)/
result = lastline.match /([a-f0-9]{40})\s([a-f0-9]{40})\s(\S+)\s(\S+)\s(\d+)\s(\+\d+)\s(.+)/
version =
parent: result[1]
version: result[2]
author: result[3]
email: result[4]
time: new Date parseInt(result[5]) * 1000
timezone: result[6]
message: result[7]
version =
parent: result[1]
version: result[2]
author: result[3]
email: result[4]
time: new Date parseInt(result[5]) * 1000
timezone: result[6]
message: result[7]
return version
return version
app.use (req, res, next) ->
res.locals.app = app
app.use (req, res, next) ->
res.locals.app = app
next()
next()
app.use (req, res, next) ->
if req.headers['x-token']
req.token = req.headers['x-token']
else
req.token = req.cookies.token
app.use (req, res, next) ->
if req.headers['x-token']
req.token = req.headers['x-token']
else
req.token = req.cookies.token
next()
next()
app.use express.static(path.join(__dirname, 'static'))
app.use express.static(path.join(__dirname, 'static'))
app.set 'views', path.join(__dirname, 'view')
app.set 'view engine', 'jade'
app.set 'views', path.join(__dirname, 'view')
app.set 'view engine', 'jade'
db.connect ->
api.bind(app)
api.bind app
app.listen config.web.port
app.listen config.web.port
unless module.parent
exports.runWebServer()