Nodejs 学习(一)

Nodejs处理get、post请求和搭建开发环境

 

Nodejs处理get请求

const http = require('http');



// querystring从字面上的意思就是查询字符串

const querystring = require('querystring');


const server = http.createServer((req,resp)=>{

    console.log('method'+req.method);

    console.log('url'+req.url);

    req.query = querystring.parse(req.url.split('?')[1]);

    // req.query2 = querystring.parse(req.url.split('?')[1]);

    console.log('query',req.query);

    resp.end(

        JSON.stringify(req.query)

    );

})

//启动一个服务器来监听连接。

server.listen(8080);

 

querystring从字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析querystring模块只提供4个方法,在我看来,这4个方法是相对应的。

4个方法分别是

   querystring.stringify序列化;

  querystring.parse反序列化;

  querystring.escape编码;

  querystring.unescape解码;

 

http.response.end的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下

方法说明:

结束响应,告诉客户端所有消息已经发送。当所有要返回的内容发送完毕时,该函数必须被调用一次。

如何不调用该函数,客户端将永远处于等待状态。

语法:

response.end([data], [encoding])

 

接收参数:

data  end()执行完毕后要输出的字符,如果指定了 data 的值,那就意味着在执行完 response.end() 之后,会接着执行一条 response.write(data , encoding);

encoding 对应data的字符编码

 

 

Nodejs处理post请求

const http = require('http');

let server = http.createServer((req,resp)=>{

    if(req.method == 'POST'){

        console.log(req.method);

        console.log('req content-type',req.headers['content-type']);

 

        //接受数据

        let postData = '';

        req.on('data',chunk=>{

            //chunk本身是二进制形式

            postData += chunk.toString();

        });

 

        req.on('end',()=>{

            console.log('postdata',postData);

            resp.end('hello world');

        });

 

    }

});

server.listen(8080);

以上修改为get方式传递后如下:

 

 

 

并没有监听到数据

Req.on(data)可能是post专用方法

Get可使用req.url方法

 

 

1nodejs用req.on(data)接收客户端的数据//浏览器来数据时触发

2在HTTP协议消息头中,使用Content-Type来表示请求和响应中的媒体类型信息。它用来告诉服务端如何处理请求的数据,以及告诉客户端(一般是浏览器)如何解析响应的数据,比如显示图片,解析并展示html等等。

常见的Content-Type有数百个,下面例举了一些

 

HTML文档标记:text/html;

普通ASCII文档标记:text/html;

JPEG图片标记:image/jpeg;

GIF图片标记:image/gif;

js文档标记:application/javascript;

xml文件标记:application/xml;

 

//设置返回格式会json

    resp.setHeader('Content-type','application/json');

 

搭建开发环境

  1. npm init

bin文件夹一般是可执行文件

2.新建www.js文件

 

3、新建处理函数

 

4//引入写好的www.js文件

5.结果

 

 

1、安装nodemon cross-env代码更新后重新运行

d:\DEMO\node\blog>npm install nodemon cross-env --save-dev

2、cross-env设置环境变量兼容环境

 

通过cross-env设置当前环境,从而更改相应配置

 

3如何取设置的变量

process 对象是一个全局变量,它提供有关当前 Node.js 进程的信息并对其进行控制。 作为一个全局变量,它始终可供 Node.js 应用程序使用,无需使用 require()。

 

结果

4.npm run dev 运行

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于想要学习 Node.js 的人来说,以下是一个常见的学习路线: 1. 入门基础知识:首先了解 JavaScript 的基础知识,包括变量、控制流、函数等等。可以通过在线教程、书籍或视频课程学习。 2. 了解后端开发概念:学习关于服务器端开发的基本概念,例如 HTTP、网络通信、数据库等。 3. 学习 Node.js 基础:通过官方文档或在线教程学习 Node.js 的基础知识,包括安装、模块系统、事件驱动编程等。 4. 掌握核心模块:了解和熟悉 Node.js 的核心模块,例如 fs、http、path 等,以便能够构建简单的服务器应用程序。 5. 学习 Express 框架:Express 是一个流行的 Node.js Web 框架,学习它可以帮助你构建更复杂的 Web 应用程序。可以阅读官方文档或参考教程来学习 Express。 6. 学习数据库集成:了解如何在 Node.js 使用数据库,例如 MongoDB 或 MySQL。学习数据库连接、CRUD 操作等。 7. 异步编程:深入理解 Node.js 的异步编程模型,包括回调函数、Promise、async/await 等。 8. 学习 RESTful API 设计:了解如何设计和构建符合 RESTful 风格的 API。 9. 深入学习和探索:根据个人兴趣和需求,学习其他 Node.js 相关的技术、工具和框架,例如 WebSocket、GraphQL、Socket.io 等。 记住,这只是一个大致的学习路线,你可以根据自己的兴趣和需求进行调整和扩展。实践对于学习 Node.js 来说非常重要,所以尽量多做一些实际项目来巩固所学知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值