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



我有一个将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定义了索引签名。

最新更新