乐鱼app成为大巴黎赞助商

乐鱼app成为大巴黎赞助商举行“同心喜迎二十大 传承中华优秀传统文化”中国古代文化常识竞赛             2023年七年级招生简章             凝望经典赏别样人生 创新表达树文化自信——河池市乐鱼app成为大巴黎赞助商高一年级举行课本剧展演活动             守护青春,护航成长 ——宜州区一中举行法制教育报告会             以赛促教展师风 凝心聚力踏征程 ——乐鱼app成为大巴黎赞助商开展教师教学技能大赛             辩以明思,坐而论道 ——记宜州区一中2024届高二辩论赛             巧借他山石,精雕“三新”玉 ——乐鱼app成为大巴黎赞助商教师赴湖南考察学习交流活动             2023年春季学期“世界地球日”知识讲座成功举办             乐鱼app成为大巴黎赞助商开展防溺水教育活动 全力筑牢生命安全防线             法治教育进校园 护航青春助成长            

DoraCMS

您现在的位置是:首页>文档内容页

文档详情

乐鱼app成为大巴黎赞助商:第4天 路由——更新后的代码

doramart 2023-06-02 23:48:25 技术文档226872
下面是App.js 更新后的代码,会在更改后的代码后加上 // 更改后的代码 字样。

乐鱼app成为大巴黎赞助商:更新后的代码

下面是App.js 更新后的代码,会在更改后的代码后加上 // 更改后的代码 字样。

var http = require("http");

module.exports = App;

function App(){
    // 插件有序列表
    var middleList = this._middleList = [];

    var self = this;

    this._route_post_handles = {}  // 更改后的代码

    this._route_get_handles = {}  // 更改后的代码

    // request事件响应函数
    function handle(req,res){

        // 循环执行插件
        var middleIndex = 0; // 插件索引

        execMiddle();

        // 执行这个函数时,会自动执行下一个middle插件。
        // 至于这个函数的执行,是由插件所控制。
        function next(){
            middleIndex += 1;
            execMiddle();
        }

        // 执行插件函数
        function execMiddle(){
            var middle = middleList[middleIndex];
            if(middle){
                middle(req,res,next);
            }else{
               var handle;  // 更改后的代码
               // 判断是GET还是POST方法
               switch(req.method){
                     case "GET":
                         handle = self._route_get_handles[req.url]  // 更改后的代码
                     break;
                     case "POST":
                         handle = self._route_post_handles[req.url]   // 更改后的代码
                     break;
               }        
               if(handle){
                   handle(req,res);
               }
            }
        }        

    }

    this._server = http.createServer(handle);

}

// 加入功能栈
App.prototype.use = function(middle){
    this._middleList.push(middle);
}

App.prototype.get = function(route,handle){  // 更改后的代码
    this._route_get_handles[route] = handle;  
}

App.prototype.post = function(route,handle){ // 更改后的代码
    this._route_post_handles[route] = handle;
}

// 监听端口
App.prototype.listen = function(){
    this._server.listen.apply(this._server,arguments);
}

下一节,要做个路由的例子。

文章评论

取消回复
登录 参与评论

评论列表(

乐鱼app成为大巴黎赞助商