小编use*_*613的帖子

无法在 TypeScript 中扩展 Express Request

这个问题已被问过几次,但给出的答案都没有对我有用。我正在尝试扩展 ExpressRequest对象以包含存储User对象的属性。我创建了一个声明文件,express.d.ts并将它放在与我的相同的目录中tsconfig.json

import { User } from "./src/models/user";

declare namespace Express {
    export interface Request {
        user: User;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试对其进行赋值secured-api.ts

import express from 'express';
import { userService } from '../services/user';

router.use(async (req, res, next) => {
    try {
        const user = await userService.findByUsername(payload.username);

        // do stuff to user...

        req.user = user;
        next();
    } catch(err) {
        // handle error
    }
});
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

src/routes/secured-api.ts:38:21 - error TS2339: Property 'user' does not …
Run Code Online (Sandbox Code Playgroud)

node.js express typescript

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

express ×1

node.js ×1

typescript ×1