-
Notifications
You must be signed in to change notification settings - Fork 14
/
boot.js
97 lines (77 loc) · 2.12 KB
/
boot.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
var Flow = require( 'node.flow' );
module.exports = function boot( base_dir, callback ){
var flow = new Flow();
// set global variables
flow.series( function ( next ){
require( './global' )( base_dir, next );
}).
// load logger
series( function ( next ){
require( CORE_DIR + 'logger' );
// this has to go after the `require`
LOG.sys( 'loading core module: logger' );
next();
}).
// load util
series( function ( next ){
LOG.sys( 'loading core module: utils' );
require( CORE_DIR + 'utils' );
next();
}).
// load model
series( function ( next ){
var mongoose = require( 'mongoose' );
LOG.sys( 'loading core module: model' );
require( CORE_DIR + 'model' )({
mongoose : mongoose
}, next );
}).
// load express
series( function ( model_names, next ){
LOG.sys( 'loading core module: express' );
require( CORE_DIR + 'express' )( next );
}).
// load lib
parallel( function ( results, ready ){
var app = results[ 0 ];
LOG.sys( 'loading core module: lib' );
require( CORE_DIR + 'lib' )( app, ready );
}).
// load helper
parallel( function ( results, ready ){
var app = results[ 0 ];
LOG.sys( 'Loading helper: application' );
require( HELPER_DIR + 'application' )( app );
ready();
}).
// load assets
parallel( function ( results, ready ){
var app = results[ 0 ];
LOG.sys( 'loading core module: assets' );
require( CORE_DIR + 'assets' )( app, ready );
}).
join().
//load controller
series( function ( results, next ){
var app = results[ 0 ][ 0 ];
LOG.sys( 'loading core module: controller' );
require( CORE_DIR + 'controller' )( app, next );
}).
// start server
series( function ( app, next ){
LOG.sys( 'loading core module: server' );
require( CORE_DIR + 'server' )( app, next );
}).
error( function ( err ){
if( err ){
console.log( err );
process.exit( 1 );
}
}).
// load 'after server start libs'
end( function ( app ){
LOG.sys( 'loading core module: started' );
require( CORE_DIR + 'started' )( app );
callback && callback();
});
};