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