使用自定义项目环境变量类型减速扩展 @types/node

Extend @types/node with custom project environment variable type decelerations

我有一个项目使用 dotenv 作为环境变量,我想为项目使用的变量添加自定义项目特定类型,用于自动完成等。

如何在不覆盖 @types/node 已经完成的所有内容的情况下执行此操作?

您可以扩充 ProcessEnv 接口,它是 process.env 的类型:

// node.augmentations.d.ts
declare namespace NodeJS {
    interface ProcessEnv {
        db: string
        port: string
    }
}

//otherfile.ts
process.env.port //suggested
process.env.db // suggested
process.env.dbb // still ok 

此方法将为您提供自动完成功能,但它不会阻止您访问 env 上的其他成员,因为 ProcessEnv 定义了索引签名。