安装Express框架
npm install -g express
使用Express中的send方法发送数据
var express = require('express');
var http = require('http');
//实例化一个对象
var app = express();
app.get('/index.html',function(req,res){
res.writeHead(200,{'Content-Type' : 'text/html'});
res.write('<head><meta charset="utf-8" /></head>');
res.end('你好\n');
//直接使用send方法,会自动计算响应头信息,且不需要使用end方法来显式结束响应内容的发送,该方法已经被封装在send方法内部
// res.send('你好');
})
app.listen(1337,'127.0.0.1',function(){
console.log('服务器正在监听');
})
使用Express设置路由
//设置路由
var express = require('express');
var http = require('http');
var app = express();
app.get('/index.html/:id/:name',function(req,res){
var str = '';
for(key in req.params){
if(str !== ''){
str += '<br/>';
}
str += '参数名:' + key;
str += String.fromCharCode(9) + '参数值:' + req.params[key];
}
res.send(str);
})
app.listen(1337,'127.0.0.1',function(){
console.log('服务器正在监听');
})
//测试,浏览器打开localhost:1337/index.html/1/kong
//输出:参数名:id 参数值:1 参数名:name 参数值:kong
//使用正则表达式设置路由
var express = require('express');
var http = require('http');
var app = express();
//参数加上?符号,没有传递参数时,会显示空白
app.get('/index.html/:id?/:name?',function(req,res){
var str = '';
if(req.params.id){
str += 'id参数值:' + req.params.id;
}
if(req.params.name){
str += 'name参数值:' + req.params.name;
}
res.send(str);
})
app.listen(1337,'127.0.0.1',function(){
console.log('服务器正在监听');
})
//另,/index.html/:id(a*)/:name表示id必须以a开头,/index.html/:id(\\d+)/:name表示id必须为数值
使用next方法调用下一个使用相同路由的get方法
//使用next方法调用下一个使用相同路由的get方法
var express = require('express');
var http = require('http');
var app = express();
app.get('/index.html/:id/:name',function(req,res,next){
if(req.params.id > 10){
next();
}else{
res.send('id参数必须大于10');
}
})
app.get('/index.html/:id/:name',function(req,res,next){
res.send('你好');
})
app.listen(1337,'127.0.0.1',function(){
console.log('服务器正在监听');
})