0
express.static
とserve-index
Expressミドルウェア(https://www.npmjs.com/package/serve-index)を使用してファイル一覧ページを提供したいと思います。ルートパスをハードコーディングする代わりに、URLのIDに基づいてデータベースからフェッチすることができます。質問はミドルウェアにreq.params.idを渡す方法です Expressでミドルウェアにreq.paramsを渡す方法
app.use('/logs/:id', express.static('C:\\log\\root\\dir'), serveIndex('C:\\log\\root\\dir'));
この
ようミドルウェアを使用することができます。私はこのようなラッパー関数を試してみましたが、それはうまくいきませんでした:
const mymw = (middleware, id) => {
const rootDir = getRootDirFromDb(id);
return middleware(rootDir);
}
app.use('/logs/:id', (req, res) => mymw(express.static, req.params.id), (req, res) => mymw(serveIndex, req.params.id));
はい、私はそれがそこからルートパスを読んではなく、このようにしていない自分のミドルウェアでreq.paramsからものを読み取ることが可能だが、 'サーブ-index'または' express.static'ことを理解: 'serveIndex(rootPath)'です。それはどういうわけか 'next()'でパラメータを渡すことができますか?これをどうやって得ることができますか? –