2. 路由
.use适用与为当前路由器加入中间件和子路由
.http动词( get、post )方法适用于为当前路由器添加路径处理器
.all匹配任意的http动词方法( get、post方法都会被监听 )
中间件是通过use这种方法添加的
1. 关于.use方法
功能一:定义中间件( use定义中间件,get是路由对应的中间件(处理函数) )
// 路径省略默认为根路径,监听的是根目录下的所有路径 app.use('/', function(req, res, next) { req.myname = 'leo'; next(); }); app.get('/', function(req, res) { res.send('hello world my name is ' + req.myname); }); // 这里的目录相对于app.use里面的目录 app.get('/test', function(req, res) { // 调用响应函数,后面的就不会执行了 res.send('hello world two my name is ' + req.myname); });
功能二:定义子路由
// 这里路径相对于父路径的,http://localhost:3000/myrouter/test router.get('/test', function(req, res) { // 子路由 res.send('sub router test'); }); app.use('/myrouter', router);
2. 关于.all
// 匹配所有动词方法,get、post的方法都会被监听 app.all('/allpath', function(req, res) { res.send('app.all handle'); });
get请求
通过URL访问 http://localhost:3000/allpath
post请求
<form method="post" action="http://localhost:3000/allpath"> <input type="submit"> </form>