美文网首页
nodejs系列-HTTP

nodejs系列-HTTP

作者: 写前端的大叔 | 来源:发表于2020-03-15 19:28 被阅读0次

使用nodejs可以快速的创建一个HTTP服务器,使用过webpack的,对于nodejs服务器并不陌生,我们在开发环境使用的webpack-dev-server就是一个nodejs服务器,在我们开发的时候,将启动webpack-dev-server创建的服务,便于我们开发的时候预览界面,当然还加了热更新等特性,这个不在这次总结的范围了,这里主要是介绍HTTP服务器。

创建服务

使用nodejs创建服务器相当简单,因为http库已经封装好了,我们只需要几行简单的代码就可以创建一个简单的http服务器,如下所示:

const http = require('http')
module.exports = function(){
    http.createServer((req,res)=>{
        res.writeHead(200,{'Content-Type':'text/html'});
        res.write('hello <b>nodejs</b>');
        res.end()
    }).listen(3000);
}

写好代码,执行node index.js后,就启动服务器了,在浏览器中输入http://localhost:3000/就可以访问了。

createServer中有一个参数,是一个回调函数,包括requestresponse两个参数。

设置responseContent-Type可以设置服务端返回的信息类型,默认为文本,如果需要返回图片,要设置成image/png。如下为返回一张图片的代码:

const http = require('http')
const fs = require('fs')
module.exports = function(){
    http.createServer((req,res)=>{
        res.writeHead(200,{'Content-Type':'image/png'});
        var stream = fs.createReadStream(__dirname + '/telnet.png');
        stream.on('data',(data) => {
            res.write(data);
        })
        stream.on('end',() => {
            res.end();
        })
    }).listen(3000);
}

重启服务器

在编写服务端代码的时候,每次修改代码需要重启服务器,使用up可以更方便的重启服务器,每次在修改完文件后都可以自动重启服务器。先用如下命令进行安装,如下所求:

npm install -g up

然后创建server.js文件,如下所示:

module.exports = require('http').createServer((req,res) => {
    res.writeHead(200,{'content-type':'text/html'});
    res.end('hello <br>world</b>');
})

然后再使用如下命令进行启动:

up -watch -port 80 server.js

个人博客

相关文章

网友评论

      本文标题:nodejs系列-HTTP

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