相关疑难解决方法(0)

节点和通用中的MVC:模型如何与视图相关联?

我从node.js开始,正在创建一个简单的MVC框架.到目前为止,我有一个前端控制器(或"调度员",如果你愿意的话)工作.路由通过调度程序配置模块进行,如图所示.

我的问题是在代码之后的最后.另外,这是学习节点的练习,请不要建议express.js等.

dispatcherConfig.js:

var url = require('url');

(function() {
    var dispatcherConfig = {
        '/'                 : 'homeController',
        '/index.html'       : 'homeController',
        '/sayHello.html'    : 'helloController',
        '404'               : '404Controller'
    };

    module.exports.getController = function(request) {
        var route = url.parse(request.url, true).pathname;
        if(dispatcherConfig[route]) {
            return dispatcherConfig[route];
        }
        return dispatcherConfig['404'];
    }
}());
Run Code Online (Sandbox Code Playgroud)


这由dispatcher.js使用:

var dispatcherConfig = require('./config/dispatcherConfig');

(function() {
    module.exports.dispatch = function(request, response) {
        var requiredController = dispatcherConfig.getController(request);
        var controller = require('./controllers/' + requiredController);
        controller.doService(request, response);
    }
}());
Run Code Online (Sandbox Code Playgroud)


以下是示例控制器的样子(也适用于花花公子) - homeController.js :(
现在请忽略内联视图代码)

(function() { …
Run Code Online (Sandbox Code Playgroud)

javascript model-view-controller node.js

4
推荐指数
1
解决办法
889
查看次数