语法:
http.createServer([options][, requestListener])
第二个参数
requestListener
,是一个自动添加到'request'
事件的方法。返回一个新的http.Server
实例。
之前代码是使用==server.on('request',callback)==来监听请求事件,由于http.createServer第二个参数也是个request监听请求事件。所以可以直接把request的请求事件的监听函数callback传递给==http.createServer的第二个参数==即可。
代码如下:
```javascript// 1. 加载http模块var http = require('http');//2,3步骤写在一起,可直接把request请求事件的回调函数直接定义在createServer函数中var server = http.createServer(function(req,res){ console.log('有人请求了'); res.end('hello world');})// 4. 启动http服务,开始监听3000端口server.listen(3000, function () { console.log('服务已经启动,请访问:http://localhost:3000');});```
创建http服务实现不同请求,响应不同内容
需求说明
不同的url响应不同的内容:
请求 / 或 /index,输出index内容
请求 /login,输出login内容
请求 /register,输出register内容
参考代码
// 1.引入http服务模块var http = require('http');// 2.创建服务,设置监听request事件的回调函数var server = http.createServer(function(req, res) { req.url = req.url.toLowerCase(); //把url转为小写,在赋值给req.url属性 if (req.url == '/' || req.url == '/index') { res.end('index'); }else if(req.url == '/login' ){ res.end('login'); }else if(req.url == '/register' ){ res.end('register'); }else{ res.end('404 Not Found'); }});// 3.启动http服务,监听3000端口server.listen(3000, function() { console.log('请访问http://localhost:3000');});
启动服务,输入http://localhost:3000/login 会响应login内容。