使用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
中有一个参数,是一个回调函数,包括request
和response
两个参数。
设置response
的Content-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
网友评论