美文网首页
node.js 实现后端服务器

node.js 实现后端服务器

作者: XuZiYa | 来源:发表于2018-10-11 19:22 被阅读0次

1.调用模块

var http = require('http')
var fs = require('fs')
var path = require('path')
var url = require('url')

2.创建服务器

var server = http.createServer(function(req,res) {
  routePath(req,res)
})

3.服务器接收到请求后的处理

function routePath(req,res) {
  var pathObj = url.parse(req.url,true)
  var handleFn = routes[pathObj.pathname]
  if(handleFn) {
    req.query = pathObj.query   //处理GET请求

    //处理POST请求,
    var body = ''
    req.on('data',function(chunk){
        body += chunk
    }).on('end',function(){
        req.body = parseBody(body)
        handleFn(req,res)
    })
    }else{
    staticRoot(path.resolve(__dirname,"static"),req,res)
  }
}

4.处理POST请求中的参数

function parseBody(body) {
  var obj = {}
  body.split('&').forEach(function(ele){
    obj[ele.split('=')[0]] = ele.split('=')[1]
  })
  return obj
}

5.路由及其对应的处理

var routes = {
  '/login': function(req,res) {
    var username = req.body.username
    res.end('登陆账户' + username)
  },
  '/search': function(req,res) {
    var team = req.query.team
    switch(team){
        case '马刺':
            res.end('15胜-5负')
            break;
        case '火箭':
            res.end('17胜-3负')
            break;
        case '湖人':
            res.end('10胜-10负')
            break;
        default:
            res.end('Not Found') 
    }
  }
}

6.没有路由时,静态目录的处理

function staticRoot(staticPath,req,res) {
  var pathObj = url.parse(req.url,true)
  var filePath = path.join(staticPath,pathObj.pathname)
  fs.readFile(filePath,function(err,content){
    if(err) {
        res.writeHead('404','Page Not Found')
        return res.end()
    }
    res.writeHead(200,'ok')
    res.write(content)
    res.end()
  })
}

7.监听端口

server.listen(8090)

相关文章

  • 模块化规范

    服务器端规范 CommonJS Node.js CommonJS 定义JavaScript语言后端规范+ 后端语言...

  • Web认证相关总结

    ​ 总结在Web开发中跟认证相关的流程,该案例使用Node.js托管前端页面,实现到后端服务器的路由跳转,称为...

  • node.js 实现后端服务器

    1.调用模块 2.创建服务器 3.服务器接收到请求后的处理 4.处理POST请求中的参数 5.路由及其对应的处理 ...

  • Nginx反向代理配置

    首先部署实施后端Web服务器1)部署后端Web1服务器后端Web服务器可以简单使用yum方式安装httpd实现We...

  • 阿里云ECS云服务器建站爬坑之旅

    0 PRE 阿里云ECS云服务器(预装系统为ubuntu16.04)、可用域名、node.js后端服务器项目(He...

  • 实现前后端登录注册界面

    本篇博客讲解如何实现前后端的简单登录注册界面,后端代码由node.js实现,主要阐述登录注册时网页工作原理。感兴趣...

  • Vue + node.js + express + mongod

    Vue + node.js + express + mongodb 的一个前后端商城项目 项目还有很多功能尚未实现...

  • 3_Node创建一个应用

    Node.js创建一个应用 如果我们使用PHP来编写后端程序的话,需要Apache或者Nginx 的HTTP服务器...

  • CORS(跨域资源共享)

    最近参与一个项目,前后端分离。于是研究了下CORS的规范。后端服务器采用Vertx实现,刚开始自己实现CORS,需...

  • CommonJS是什么?

    我们知道Node.js的实现让js也可以成为后端开发语言,但在早先Node.js开发过程中,它的作者发现在js中并...

网友评论

      本文标题:node.js 实现后端服务器

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