1

で構成された私のstインスタンス

var mount = st({ 
  path: './app/',
  url: '/', // defaults to path option
  index: 'index.html',
  cache: {
    fd: none,
    content: none
  }
});

そのため、リクエストを送信すると、res/img/1.jpgそれは./app/res/img/1.jpgかなり明確です。しかし、いくつかのリクエストがある場合、ファイル構造が異なるため、app/res/img/1.jpgこのリクエストをリダイレクトし、もちろん何も見つかりません。./app/app/res/img/1.jpg

st を構成したり、URI に既に存在する場合にパスの追加をスキップするカスタム コードを追加したりすることは可能ですか? または、いくつかの除外のように、異なる処理を行う特定のパスを追加する方法はありますか?

4

1 に答える 1

1

st を直接使用できるかどうかはわかりませんが、場合によっては URL を書き換えるコードを追加するだけで済みます。

みたいな広告コード

var exceptions = { 
 'wrong_path':'right_path'
}

function rewriteUrl(req){
  if(exceptions[req.url]){
   req.url = exceptions[req.url];
  }
}

そして、 st メソッドを呼び出す前にその関数を呼び出します

http.createServer(function (req, res) {
  rewriteUrl(req);
  mount(req, res);
}).listen(1234);
于 2013-09-29T12:04:11.780 に答える