0

私がやろうとしていること:URLがデータベースに存在する場合は静的ページテンプレートを使用し、存在しない場合は特定のページテンプレートを表示します。どうやら理解できないようです...

私のapp.jsファイル

  app.get('*', function(req, res){
  var currenturl = req.url;
  console.log('URL IS: ' + my_path)
  if (!!db.get(my_path) ) 
    {
      //If it does exist in db
      console.log('Does exist');
      res.render('index', { thetitle: 'Express', title: db.get(currenturl).title, content: db.get(currenturl).content });
    }else{
      //If it doesn't exist in db
      redirect to other sites
      Like: 
      if you go to "/page" it will run this => app.get('/page', routes.index)
      or "/users" will run => app.get('/users', routes.users)
    }
 });
4

2 に答える 2

1

独自のシンプルなミドルウェアを作成する必要があります。必ず上に置いてくださいexpress.router

app.use(function(req, res, next){
  if (!!db.get(my_path)) {
    // render your site from db
  } else {
    // call next() to continue with your normal routes
    next();
  }
});

app.get('/existsInDB', function(req, res) {
  // should be intercepted by the middleware
})

app.get('/page', function(req, res) {
  // should not be intercepted
  res.render('page')
})
于 2012-10-11T13:27:02.843 に答える
0

エクスプレスを使用するのは簡単です。redirect次の関数を使用できます。

if (url_exists) res.render('index');
else res.redirect('/foo/bar');
于 2012-10-11T10:05:09.567 に答える