首页 > 解决方案 > 如何在 Typescript 中正确使用环境变量?

问题描述

我正在尝试使用 typescript 制作一个简单的 api,当我使用任何 env 变量时,我从 TS 编译器收到一个错误告诉我这可能是undefined

例子

// 不工作

const db = process.env.DB_URL   // This gives an error that the result could be a string or undefined

为了解决这个问题,我必须做一个类型保护并检查 if 语句如下

const db = process.env.DB_URL   

if (db){
  // ....
}


有没有更好的方法来处理这样的事情,而不是明确检查每个变量?

标签: node.jstypescript

解决方案


您可以应用空检查并将其保留为字符串,而不是定义两种类型:

const db: string = process.env.DB_URL ?? ''

// empty strings are falsy/falsey
if (db) { // do this}
else { //do this} 

推荐阅读