UNPKG

rrestjs

Version:

HIgh performance node.js ROA & RESTFUL web framework.

74 lines (49 loc) 2.4 kB
/* *rrestjs主入口,各种模块的汇聚地 * */ global.rrest = {} //占用全局命名空间 var program = require('commander');//引入commander模块 program .option('-d, --dev', 'get in dev') .parse(process.argv);//注册-d rrest._isrestdev = program.dev || false; //判断是否进入开发者模式 rrest._hasrrest = false; //全局变量,用来区分是否执行过rrest方法了 var mime = require('mime'); _restConfig = require('./configRequire');//加载config文件 require('./checkConfig')(_restConfig);//检查config文件 restlog = require('./RestLogger'); var version = require('./RestUtils').getVersion();//获取版本号 if(_restConfig.autoCreateFolders) var autoCreateFolders = require('./createFolders');//自动创建目录 var RestReq = require('./RestReq')(),//封装req RestRes = require('./RestRes')(),//封装res bridge = require('./RestBridge'); var rrestobj = function(callback){ if(rrest._hasrrest) return; rrest._hasrrest = true; return bridge(callback,true); };//输出核心函数 rrestobj.version = version; module.exports = rrestobj; //http注入 require('./httpInject.js'); if(bridge.restlog){ global.restlog = module.exports.restlog = bridge.restlog; } module.exports.restlog = require('./RestLogger');//加载日志记录;//输出restlog的api module.exports.AsyncProxy = require('./modules/AsyncProxy');//输出异步代理 module.exports.mongo = require('./MongdbConnect');//输出mongodb api module.exports.mpool = require('./MongdbConnect').mpool; module.exports.mgenid = require('./MongdbConnect').mgenid;//可以生产bson的_id module.exports.config = _restConfig; module.exports.mod = require('./AutoRequire'); module.exports.child = bridge._rrest; module.exports.listen = bridge.listen; module.exports.clientpipe = require('./RestPipe');//增加RestCross module.exports.proxy = require('http-proxy');//加载了http-proxy代理,可以使用它的方法 module.exports.tploption = _restConfig.tploption = {};//默认的模版对象,会自动合并到每次render模版时 module.exports.forkid = process.env['_num'] || 'master';//如果没有_num则认为是master module.exports.ejs = require('ejs'); module.exports.jade = require('jade'); //增加less的mime格式 mime.define({'text/css':['less']});