TypeScript を使用してミドルウェアからのリクエスト オブジェクトを表現するプロパティを追加しようとしています。ただし、オブジェクトに追加のプロパティを追加する方法がわかりません。可能であれば、括弧表記は使用しないことをお勧めします。
私はこれに似たものを(可能であれば)記述できる解決策を探しています:
app.use((req, res, next) => {
req.property = setProperty();
next();
});
ベストアンサー1
カスタム定義を作成し、Typescriptの機能を使用するには、宣言のマージこれは、例えば、method-override
。
ファイルを作成し、のセクションがある場合はcustom.d.ts
必ず含めてください。内容は次のようになります。tsconfig.json
files
declare namespace Express {
export interface Request {
tenant?: string
}
}
これにより、コードのどの時点でも次のようなコードを使用できるようになります。
router.use((req, res, next) => {
req.tenant = 'tenant-X'
next()
})
router.get('/whichTenant', (req, res) => {
res.status(200).send('This is your tenant: '+req.tenant)
})