node.js - 如何在 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){
// ....
}
有没有更好的方法来处理这样的事情,而不是明确检查每个变量?
解决方案
您可以应用空检查并将其保留为字符串,而不是定义两种类型:
const db: string = process.env.DB_URL ?? ''
// empty strings are falsy/falsey
if (db) { // do this}
else { //do this}
推荐阅读
- javascript - 从带有方括号的对象中删除引号
- python-3.x - 如何在 python 3 进程中定义超时?
- c# - 在给定索引处将行添加到 TableLayoutPanel
- php - 在 php 数组中格式化来自服务器的响应
- mysql - 无法解释是什么让我的查询如此缓慢
- php - 第 5 行第 1 列的错误:文档末尾的额外内容
- git - 是否可以以编程方式从 master 中删除一个过去的修订?
- reactjs - 未处理的拒绝(TypeError):无法读取未定义的属性“setState”
- python - 如何从 pyNaCl 中的值加载 SigningKey?
- winapi - 使用 Common Controls 6.0 时无法更改编辑文本背景