1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- var express = require('express');
- var path = require('path');
- var logger = require('morgan');
- var bodyParser = require('body-parser');
- var serveStatic = require('serve-static');
- var session = require('express-session');
- var cookieParser = require('cookie-parser');
- var app = express();
- // view engine setup
- //app.set('views', path.join(__dirname, 'views'));
- //app.set('view engine', 'jade');
- // uncomment after placing your favicon in /public
- //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
- app.disable('etag');
- app.use(logger('dev'));
- app.use(bodyParser.json());
- app.use(bodyParser.urlencoded({extended: false}));
- //app.use(express.static(path.join(__dirname, 'public')));
- //app.use(express.static(path.join(__dirname, 'node_modules')));
- app.use(serveStatic('bower_components'));
- app.use(cookieParser('fy_'));
- // =================================================================================
- //app api 接口服务
- //自动注册所有service为rpc服务
- var rpc = require('./lib/rpc');
- var dirWalk = require('./lib/myfs/digui');
- var _s = require('underscore.string');
- var serviceFileFolder = __dirname + '/service';
- var serviceFileList = dirWalk.syncWalk(serviceFileFolder, 0);
- console.info('需引入RPC注册的服务地址是: ');
- var rpcScripts = serviceFileList.map(function (o) {
- var service = require('.' + o.rpcPath);
- var ret = o.rpcPath.split('/');
- var clientName = _s.capitalize(ret[ret.length - 2]) + _s.capitalize(ret[ret.length - 1].replace('.js', ''));
- app.use(o.rpcPath, rpc(express, '/helper.js', clientName, service));
- var script = ['script(src=\'', o.rpcPath, '/helper.js', '\')\n',
- "script var ", clientName, " = new ", clientName, "('", o.rpcPath, "');\n"].join('');
- console.log(script);
- return script;
- });
- var fs = require('fs');
- var rpcJadePath = __dirname + '/views/include/rpc.jade';
- try{fs.unlinkSync(rpcJadePath);}catch(e){}
- fs.writeFile(rpcJadePath, rpcScripts.join('\n'), function (err, x) {
- });
- app.use(function (req, res, next) {
- var err = new Error('Not Found');
- err.status = 404;
- //next(err);
- res.render('404', {
- message: err.message,
- error: err
- });
- });
- if (app.get('env') === 'development') {
- app.use(function (err, req, res, next) {
- res.status(err.status || 500);
- console.log(err);
- res.render('500', {
- message: err.message,
- error: err
- });
- });
- }
- app.use(function (err, req, res, next) {
- res.status(err.status || 500);
- console.log(JSON.stringify(err));
- res.render('500', {
- message: err.message,
- error: {}
- });
- });
- module.exports = app;
|