Tôi đang làm việc trên một ứng dụng rút ngắn url đơn giản và có các tuyến đường tốc hành sau:
app.get('/', function(req, res){
  res.render('index', {
    link: null
  });
});
app.post('/', function(req, res){
  function makeRandom(){
    var text = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    for( var i=0; i < 3 /*y u looking at me <33??*/; i++ )
      text += possible.charAt(Math.floor(Math.random() * possible.length));
    return text;
  }
  var url = req.body.user.url;
  var key = makeRandom();
  client.set(key, url);
  var link = 'http://50.22.248.74/l/' + key;
  res.render('index', {
    link: link
  });
  console.log(url);
  console.log(key);
});
app.get('/l/:key', function(req, res){
  client.get(req.params.key, function(err, reply){
    if(client.get(reply)){
      res.redirect(reply);
    }
    else{
      res.render('index', {
        link: null
      });
    }
  });
});
Tôi muốn xóa /l/khỏi tuyến đường của mình (để làm cho url của tôi ngắn hơn) và đặt tham số: key là tùy chọn. Đây có phải là cách chính xác để làm điều này:
app.get('/:key?', function(req, res, next){
  client.get(req.params.key, function(err, reply){
    if(client.get(reply)){
      res.redirect(reply);
    }
    else{
      next();
    }
  });
});
app.get('/', function(req, res){
  res.render('index, {
    link: null
  });
});
Không chắc liệu tôi có cần chỉ định rằng /tuyến đường của tôi là tuyến đường được "nexted" hay không. Nhưng vì tuyến đường khác duy nhất của tôi sẽ là /tuyến đường đăng bài cập nhật của tôi , tôi sẽ tưởng tượng nó sẽ hoạt động tốt.


client.get. Tôi cócannot call method 'indexOf' of nulllỗi.