zoukankan      html  css  js  c++  java
  • 类似express的路由封装方式

    1.原理

    主要过程涉及三个元素的定义,如下:

    //用于承载一系列方法的对象
    var funObj = {};
    //用于根据条件执行funObj中的方法
    var app = function(){};
    //用于向funObj添加方法
    app.get = function(){};

    2.具体实现

    a. 路由框架的封装(route.js)

    //==========================
    //  类似express的路由框架
    //==========================
    var url = require('url');
    //用于承载一系列方法的对象
    var funObj = {};
    //用于根据条件执行funObj中的方法
    var app = function(req,res){
        var pathName = url.parse(req.url).pathname;
        if(funObj[pathName]){
            funObj[pathName](req,res);
        }else{
            res.writeHead(200,{'content-type':'text/html;charset=utf-8'});
            res.end('无有效路由');
        }
    };
    //用于向funObj添加方法
    app.get = function(string, callback){
        funObj[string] = callback;
    };
    
    module.exports = app;

    b. 框架的调用和执行(index.js)

    var http = require('http');
    var app = require('./route');
    
    app.get('/login',function(req,res){
        res.end('login');
    })
    app.get('/home',function(req,res){
        res.end('home');
    })
    http.createServer(app).listen(8090);
  • 相关阅读:
    Math类操作数据
    java之静态方法与非静态方法
    使用Date和SimpleDateFormat类表示时间
    Java 中基本类型和字符串之间的转换
    Python基础
    生成对抗网络
    机器翻译
    语义角色标注
    个性化推荐
    词向量
  • 原文地址:https://www.cnblogs.com/zhcBlog/p/10256798.html
Copyright © 2011-2022 走看看