2017-06-12 18 views
0

としなぜapp.useとexpress.static仕事はなく、私のserver.tsでapp.get

app.use('/example', express.static('somefolder')); 

が正しく機能に対し

app.get('/example', express.static('somefolder')); 

ラインを提出することは、私に404を与えます'myhost/example'へのリクエストに対する応答として 'somefolder'からの 'index.html'

明示的な文書によると、これらはGET要求の場合とまったく同じように動作するはずです。なぜ、1つは動作し、もう1つは動作しませんか?

答えて

0

これらの2つの方法がreq.pathが移入された方法で(とりわけ)が異なります。

  • app.get('/example')のために、それはapp.use('/example')ため/example/
  • に設定されています使用している場合、それは、/

に設定されていますexpress.static()これは、内部的には、静的ミドルウェアが要求パスを別の場所に変換することを意味します。

  • app.get('/example')のために、それはapp.use('/example')ためsomefolder/example/
  • になります、それはあなたが簡単にsomefolder/example/を作成し、それにindex.htmlファイルをコピーすることによってこれをテストすることができsomefolder/

になります。それをすると、app.get()ルートも同様に動作します。

関連する問題