最近几天学习了一下nodejs,深感nodejs的强大,nodejs实际上就是运行在服务端的Javascript,如果之前学习过前端,在学习nodejs也可以说事很轻松了,也可以说nodejs就是为前端程序员准备的,可以省时省力的完成后端所要做的事,下面切入正题。
nodejs的三大模块:http、url、fs
http、url、fs这三大模块可以说是完成后端工作所必不可少的东西,本文将简单介绍一下http模块。
http模块
用法:const http=require(‘http’)
在项目文件中加入这一条即把http模块引入项目中了
const http=require('http') //引入http模块
http.createServer(function (req,res) { /*createServer为http模块中创建服务的方法,function (req,res)为回调函数,req表示客户端发起的请求,res表示服务器做出的回应 */
res.writeHead(200, {"Content-type": "text/html;charset=utf-8"}) /*这里是反应头,因为实际开发中,我们需要返回对应的中文以及对应的的文本格式,所以我们需要设置对应的响应头,响应头决定了对应的返回数据的格式以及编码格式,writeHead:这个方法有两个参数,第一个参数表示对应的编码的状态值,第二个表示对应的设置*/
res.write('hahah') //这里仅是测试,请求成功后便会在网页上显示“hahah”
if(req.url!='/favicon.ico') { /*req.url会反应两个数据,/favicon.ico 即是浏览器上标签的图标,如图一的百度上的蓝色脚印,在这里就直接不看有关它的数据了*/
console.log(req.url) /*这里会在控制台打印出请求的url,比如输入“http://127.0.0.1:8001/lgp/autore?a=123&b=456&p=109”,打印结果如图二*/
//以下三行是url模块中的内容,本文中暂不解释,下一篇内容在对url模块进行详细介绍。
// var qurrery = url.parse(req.url,true)
// console.log(qurrery)
// console.log(qurrery.query.a)
res.end('结束了!') //加入此句,代表服务端对客户端的反应结束
}
}).listen(8000)
console.log('end') //这一条会在控制台打出,代表以上代码正常运行了
在js文件中输入完以上代码,需要保存并且在终端运行才可以正常使用,方法如下:
首先打开终端,输入node+js文件的路径,如图二所示
如果打印出了end,则代表成功了,下面可以打开浏览器输入:http://127.0.0.1:8000/lgp/autore?a=123&b=456&p=109(http://127.0.0.1:8000后面的内容即为url,也可以自己随意输一些别的,不过格式不要错),看到浏览器输出图三内容,终端打印出如图二内容即代表已经成功。
图一:
图二:
图三:
http模块的请求过程其实还是比较容易理解的,本人也是初次学习,以上均为个人见解,如果有不对的地方,还请大佬指出。