Express.js有多种方法

Jus*_*oud 7 node.js express

所以在Express你可以这样做:

app.get('/logo/:version/:name', function (req, res, next) {
    // Do something
}    
Run Code Online (Sandbox Code Playgroud)

app.all('/logo/:version/:name', function (req, res) {
    // Do something
}    
Run Code Online (Sandbox Code Playgroud)

有没有办法只有两种方法(即GET和HEAD)?如:

app.get.head('/logo/:version/:name', function (req, res, next) {
    // Do something
}    
Run Code Online (Sandbox Code Playgroud)

Rah*_*zir 11

你可以使用.route()方法.

function logo(req, res, next) {
    // Do something
}

app.route('/logo/:version/:name').get(logo).head(logo);
Run Code Online (Sandbox Code Playgroud)


msc*_*dex 10

只需拔出匿名函数并为其命名:

function myRouteHandler(req, res, next) {
  // Do something
}

app.get('/logo/:version/:name', myRouteHandler);
app.head('/logo/:version/:name', myRouteHandler);
Run Code Online (Sandbox Code Playgroud)

或者使用一般的中间件功能并检查req.method:

app.use('/logo/:version/:name', function(req, res, next) {
  if (req.method === 'GET' || req.method === 'HEAD') {
    // Do something
  } else
    next();
});
Run Code Online (Sandbox Code Playgroud)