如何Request在 TypeScript 中扩展 Express 对象
在 TypeScript 中,你可以使用类型声明扩展 Express 对象。这通常通过声明模块来完成,该模块扩展了 Express 的 Request
接口。以下是一个如何扩展 Request
对象的例子:
import express from 'express';
// 扩展 Request 接口
declare namespace Express {
export interface Request {
myProperty?: string;
}
}
const app = express();
// 使用扩展后的 Request 接口
app.use((req, res, next) => {
// 这里可以使用 myProperty
if (req.myProperty) {
// 做一些操作
}
next();
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
在这个例子中,我们创建了一个名为 myProperty
的可选属性,它可以被添加到 Express 的 Request
接口中。然后,你可以在中间件中使用这个属性,就像使用 Express 提供的任何其他属性一样。
请注意,这种扩展方法应该在使用 Express 的代码之前进行,这样 TypeScript 在编译时就可以识别新的属性。
评论已关闭