javascript存在相同的问题,但我认为此处列出的解决方案不适用于打字稿。
首先,我有一个express.Request
类型的对象,我想调试其body
成员:
function test(req : express.Request, res :express.Response, next:(err:any)=>void) {
req.defineProperty(body, 'someProp', { //Property 'defineProperty' does not exist on type 'Request'.
get: function () {
return req._body;
},
set: function (value) {
debugger; // sets breakpoint
obj._someProp = value;
}
});
答案 0 :(得分:1)
您要查找的方法称为Object.defineProperty
,它将定义属性的对象作为第一个参数。正确的用法是这样的:
function test(req: express.Request, res: express.Response, next: (err: any) => void) {
Object.defineProperty(req, 'body', {
get: function () {
return req._body;
},
set: function (value) {
debugger; // sets breakpoint
req._body = value;
}
});
}