You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript类型声明文件.d.ts在nodemon(ts-node)中无法生效的问题

解决Express Request对象扩展在ts-node/nodemon中失效的问题

直接修改你的/src/types/index.d.ts文件,去掉外层的export声明,修改后的代码如下:

declare global {
    namespace Express {
        interface Request {
            userName?: string;
        }
    }
}

原因说明

你原来的代码用了export declare global,这会把全局命名空间的扩展变成模块级导出。tsc编译时会扫描所有类型文件并合并声明,所以能正常识别,但ts-node、nodemon这类实时编译工具不会自动处理模块内的全局扩展,导致类型无法生效。

去掉export后,这个文件就成为了全局类型声明文件,ts-node会自动加载它,Request对象的userName属性就能被正确识别,不管是用ts-node/nodemon运行,还是tsc编译后运行,都不会再出现TS2339错误。

内容的提问来源于stack exchange,提问作者Chirag Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 01:02:06