UNPKG

2.13 kBJavaScriptView Raw
1// var AppDefiner = require('./resourcesDefiner/appDefiner') /*放弃定义一个app,define就是一个定义*/
2var ModuleDefiner = require('./resourcesDefiner/moduleDefiner');
3var ControllerDefiner = require('./resourcesDefiner/controllerDefiner');
4var Server = require('./server');
5
6
7module.exports = Definer;
8
9function Definer(){
10 return this
11}
12
13Definer.prototype.defaultModule = function(moduleName){
14 this.modules.default = moduleName;
15 return this;
16}
17
18Definer.prototype.load = function(loaderMethod){
19 for(var moduleName in this.modules){
20
21 if (moduleName == 'default') return /*defalut 是指定默认模块的参数*/
22
23 this.moduleLoder(moduleName,loaderMethod);
24 console.info(loaderMethod + ' successfully loaded ' + moduleName + ' module');
25 }
26}
27
28
29
30
31Definer.prototype.moduleLoder = function(name,loaderMethod){
32 this.modules[name].loadControllers(loaderMethod);
33
34}
35
36/*
37**模块definer 工厂函数
38*/
39Definer.prototype.module =function(options){
40 ModuleDefiner.__proto__ = this
41 var module = new ModuleDefiner(options);
42 this.modules[module.name] = module;
43// module.loadControllers();
44}
45
46/*
47**控制器difner 工厂函数
48*/
49Definer.prototype.controller = function(options){
50 var controller = new ControllerDefiner(options);
51 /*定义一个控制器*/
52 if(!controller.moduleName){ /*如果没有指定模块名称,就加入默认的module*/
53 controller.moduleName = this.modules.default;
54 }
55
56 if(!this.modules[controller.moduleName]){
57 console.error(controller.moduleName + ' module does`t exist');
58 throw new Error();
59 }
60
61 var currentModule = this.modules[controller.moduleName];
62
63 if(currentModule.controllers[controller.name]){
64
65 console.error(controller.moduleName + '模块的 ' + controller.name + '控制器 已经被定义,请检查是否重复');
66 throw new Error();
67 }
68
69 currentModule.controllers[controller.name] = controller;
70
71
72 return controller.actionDefiner;/*返回当前控制器的action 定义器*/
73
74}
75
76/*
77**server definer 工厂函数
78*/
79Definer.prototype.server = function(options){
80 var server = new Server();
81 server.optionsHandler(options);
82 return server
83}
84
85
86
87
88
89
90
91
92
93
94
95
96
97