nodejs11-路由的封装(下)

作者: 经纬文学 | 来源:发表于2019-11-13 19:31 被阅读0次

    如果说我比别人看得更远些,那是因为我站在了巨人的肩上. ——牛顿 伊萨克.牛顿 (lsaac Newton )

    • 先看一下express官网的路由
    // invoked for any requests passed to this router
    router.use(function(req, res, next) {
      // .. some logic here .. like any other middleware
      next();
    });
    
    // will handle any request that ends in /events
    // depends on where the router is "use()'d"
    router.get('/events', function(req, res, next) {
      // ..
    });
    

    清晰脱俗,简洁易懂

    取其精华,去其糟粕

    新建demo1.js
    
    
    var http = require('http')
    var url = require('url')
    var Obj = {}
    var app = function (req, res) {
    
    
      var pathname = url.parse(req.url).pathname
      res.writeHead(200, {'Content-Type':'text/html;charset=utf-8'})
      
      if (!pathname.endsWith('/')){
        pathname = `${pathname}/`
      }
    
      if (Obj[pathname]) {
        Obj[pathname](req,res)
      } else {
        res.end('无效路径')
      }
    }
    
    
    app.get = function (string, callback) {
      if (!string.endsWith('/')) {
        string = `${string}/`
      }
      if (!string.startsWith('/')) {
        string = `/${string}`
      }
      // 注册方法
      Obj[string] = callback
    }
    
    
    app.get('login', function(req, res) {
      res.end('login')
    })
    
    app.get('register', function(req, res) {
      res.end('register')
    })
    
    
    http.createServer(app).listen('8083')
    
    console.log('Server is Running in 8083')
    
    
    

    照葫芦画瓢,先学个七分

    补充
    一个线程只能隶属于一个进程,但是一个进程是可以拥有多个线程的。

    相关文章

      网友评论

        本文标题:nodejs11-路由的封装(下)

        本文链接:https://www.haomeiwen.com/subject/gsukictx.html