欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

web前端进阶02:初学nodeJS之http系统模块使用 (写一个http请求的服务器)

程序员文章站 2022-07-12 17:58:32
...

1.先在d盘新建项目文件取名:aaa(名字随便取

2.在aaa文件里面新建后台文件1.js(名字随便取

3.直接在1.js后台文件中写nodejs代码---也就是写简易服务器:

   在1.js中写入代码如下:

const http=require('http');//http引入的模块是系统自己就有的!

var server=http.createServer(function(){

    console.log('8888888');

});//创建一个服务对象,里面是一个回调函数(也可以认为是创建一台服务器)

server.listen(9090);//监听服务的端口号,这里的端口号可以自定义,一般常用的是8080

//在浏览器中访问的时候输入http://loclahost:9090 

注意:在1.js中写完代码以后,还必须要开启这个服务器,也就是命令行来启动执行这个1.js文件,然后再在浏览器访问

http://loclahost:9090,命令行就会显示打印内容,不访问那个地址,命令行不会打印内容!

开启服务器的步骤(其实也就是执行那个1.js文件):

《1》首先切换盘符到D盘(这里放着项目文件): 命令行里输入    d:    点击回车

《2》进去d盘里面的项目文件aaa里:命令行里输入   cd  aaa    点击回车

《3》执行程序启动服务器:命令行里面输入   node  1.js   点击回车

《4》在浏览器中访问:http://loclahost:9090-------这样浏览器中就可以显示不出服务器中打印的内容!在命令行里面显示出打印的内容!!!


当然以上咱们就是写一个非常简易的服务器流程!!!--希望大家记住!

----------------------------------------------------------------------------------------------------------------------------

4.这里再写第二个进阶服务器代码:

const http=require('http');

var server=http.createServer(function(req,res){//req,浏览器请求的信息;res服务器给浏览器输出东西的


    res.write('8888');//给前台浏览器写东西

    res.end();//结束给前台东西(这里一定要写结束进程)

});

server.listen(9090);

//http://localhost:9090/浏览器访问地址

****在浏览器中访问:http://loclahost:9090-------这样浏览器中就可以显示出服务器中写的内容!  

以上的服务器有个缺点:

当咱们访问http://localhost:9090/aaa.html,还是http://localhost:9090/aaa.jpg等这些东西,里面内容都显示的是8888,其实就是因为咱上面的代码里面只是写死了给浏览器输出的8888,没有拿到浏览器给咱的请求!

web前端进阶02:初学nodeJS之http系统模块使用 (写一个http请求的服务器)

这就需要下面的进阶代码了:

-------------------------------------------------------------------------------------------------------------------------------

5.这里再写第三个进阶服务器代码:

const http=require('http');

var server=http.createServer(function(req,res){//req,浏览器请求的信息;res服务器给浏览器输出东西的

    console.log(req.url);//当浏览器访问http://localhost:9090/aaa.html的时候,req.url打印出来的就是aaa.html

    res.write('8888');//给前台浏览器写东西

    res.end();//结束给前台东西

});

server.listen(9090);

//http://localhost:9090/
注意:
 console.log(req.url)里面的req.url其实就是浏览器访问http://localhost:9090/aaa.html的时候
http://localhost:9090后面请求的东西,可以是aaa.html,也可以是aaa.jpg

这样的话咱们就可以通过判断req.url就知道浏览器访问的是哪个页面,哪个图片。。。。等等!当然通过判断访问的这个东西也就可以相应的给前台浏览器上输出东西!!!!

接下来,咱们就根据判断浏览器请求的req.url,来相应的给浏览器输出不一样的内容:

-------------------------------------------------------------------------------------------------------------------------------

6.这里再写第四个进阶服务器代码:

const http=require('http');

var server=http.createServer(function(req,res){//req,浏览器请求的信息;res服务器给浏览器输出东西的

    switch (req.url){//判断浏览器请求的信息
        case '/aaa.html':  //当浏览器请求的是http://localhost:9090/aaa.html
            res.write('这是aaa.html页面');//给前台浏览器输出
            break;
        case '/aaa.jpg':  //当浏览器请求的是http://localhost:9090/aaa.jpg
            res.write('这是aaa.jpg图片');//给前台浏览器输出
            break;
        default:
            res.write('请求失败404');//假设后台有前面信息,其他的都没有,那访问的时候就提示404,当然这不是真的404,后面会弄真的!
            break;
    }

    res.end();//结束给前台东西

});

server.listen(9090);

注意:记住每次写完或者修改完服务器里面的东西一定要重启服务器!

《1》当浏览器请求的是http://localhost:9090/aaa.html

web前端进阶02:初学nodeJS之http系统模块使用 (写一个http请求的服务器)

上面的奇怪乱码忽略不计,这是编码格式问题,后面会说到!

《2》当浏览器请求的是http://localhost:9090/aaa.jpg

web前端进阶02:初学nodeJS之http系统模块使用 (写一个http请求的服务器)

《3》但是当你访问的是你里面没有判断过的,没有的东西就会:

web前端进阶02:初学nodeJS之http系统模块使用 (写一个http请求的服务器)

----------------------------------------------------------------------------------------------------------------------------------

以上就是咱们初识nodeJS的搭建一个简单的服务器,根据浏览器所请求信息并,可以给浏览器输出一些信息或者东西!下节课讲:fs文件模块 


注意:本课程是一套简单易学的视频编写而成的博客内容,我会一节一节奉献,而此视频是由原智能社ceo--blue大神所讲,腾讯课堂价格太贵!这里免费送大家前7节课:

链接: https://pan.baidu.com/s/1LdIqtLqe4oQY0Lx02lESKQ 密码: 9h1h

web前端进阶02:初学nodeJS之http系统模块使用 (写一个http请求的服务器)

第8-37节课如果需要,请添加威信号:  webcsdn        威信名:web学习视频全家桶!

添加时候请注明:web前端

web前端进阶02:初学nodeJS之http系统模块使用 (写一个http请求的服务器)

视频学习目录里有其他视频内容的概述!