index.js
800 Bytes
var path = require('path');
var IoC = require('electrolyte');
var bootable = require('./bootable');
var express = require('express');
var Promise = require('bluebird');
process.chdir(__dirname);
//依赖注入
IoC.use(IoC.dir(path.join(__dirname, 'boot')));
IoC.use('igloo', require('./igloo'));
var app = bootable(express());
app.pushPhase = function (phase) {
new Promise(function (resolve, reject) {
phase(resolve, reject)
}).then(function (data) {
app.phase(bootable.di.initializers());
app.phase(bootable.di.routes('./routes'));
IoC.create('igloo/server').then(function (server) {
app.phase(server);
});
});
};
var workaiExpress = {
'app': app,
'IoC': IoC,
'bootable': bootable
};
module.exports = workaiExpress;