node处理http请求以及node实时检测环境改变搭建

                                                   node处理http请求以及node实时检测环境改变搭建

这个部分首先需要去简述http请求的过程:

    1.DNS解析域名找到ip地址,建立TCP连接,发送http请求
    2.server端接收到http请求,处理并且返回结果(在server端需要进行的操作)
    3.客户端接收到返回数据,然后处理数据

那么在使用node去处理http请求主要涉及到下面的内容:

    get请求和querystring(其代表url)
    post请求和postdata
    路由

nodejs处理get请求和querystring
     get请求,即客户端要向server端获取数据,如查询博客列表等
     通过querystring来传递数据  如a.html?a=800&b=1000
     浏览器直接访问就发送get请求

const http = require('http');
// 获取url参数
const querystring = require('querystring');

const server = http.createServer((req,res) => {
    console.log('method:',req.method); //GET
    const url = req.url;
    console.log('url:',url);
    req.query = querystring.parse(url.split('?')[1]);
    console.log('req.query',req.query);
    res.end(
        JSON.stringify(req.query)
    )
})

server.listen(8000);
console.log('ok');
以上的代码就是用于处理http中get请求的一种处理方式,在http.createServer((req,res) =>{})中,在里面的参数
req代表http请求中的request res代表http请求中的respose。在代码部分res.end()内部所表示的意思就是当响应
结束之后在页面端做出的结果输出。server.listen(8000)指的的localhost:8000下的8000端口。

要实现这个步骤首先就是在当前的文件夹中你需要处理使用npm init -y去初始化这个项目,最后在你的入口文件中去
输入上面的代码。要想在浏览器中去显示这个结果,需要的就是输入localhost:8000地址

nodejs处理post请求
     使用postman去发送post请求

const server = http.createServer((req,res) => {
    if(req.method === 'POST'){
        //req数据格式
        console.log('req content-type:',req.headers['content-type']);
        //postData来接收数据
        const postData = '';
        req.on('data',chunk => {
            postData += chunk.toString();
        })

        req.on('end',() => {
            console.log('postData:',postData);
            res.end('ni hao!');
        })
    }
})

server.listen(8000);
console.log('ok');
在上面的代码中就是使用nodejs去处理post请求的方式

路由:对于路由就是在server参数的函数中使用const path = req.url.split('?')[0]返回的就是路由  其中的
url = req.url

使用node搭建环境
    在这里需要了解两个依赖包
        nodemon监测文件变化,自动重启node     cross-env设置环境变量,兼容mac linux和windows
   环境搭建
       1.打开当前目录然后使用npm init -y去初始化这个文件  
       2.更改其入口文件的地址为bin/www.js
       3.在当前的文件下去新建bin目录然后再新建www.js文件
       4.在项目中安装依赖包 npm install cross-env --save 和  npm install nodemon  --save
       5.更改监测文件的指令
            "dev" : "cross-env NODE_ENV=dev nodemon ./bin/www.js",  如果是dev就在控制台上打印
            "prd" : "cross-env NODE_ENV=production nodemon ./bin/www.js" 如果是production就写在文件当中

监测代码,在www.js主要写的是有关于处理业务技术部分的代码,代码如下:
         const http = require('http');
         const PORT = 8000;
         const serverHandle = require('../app');
         const server = http.createServer(serverHandle);
         server.listen(PORT);
如果是处理业务逻辑的代码就放在app.js文件当中,代码如下:
        const serverHandle = (req,res) => {
    //设置返回JSON的格式
    res.setHeader('Content-type','application/json');

    const resData = {
        name: '世界你好',
        site: 'imooc',
        env: process.env.NODE_ENV  //在这部分中的NODE_ENV主要用于检测文件的变换
    }
    res.end(
        JSON.stringify(resData)
    )
}
module.exports = serverHandle;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值