我正在绑定我的 NodeJS、Typescript 应用程序来设置新的配置文件,这些文件采用 .env 变量,如果没有设置一个特定的变量会引发错误。
接下来是我的配置文件,最后是我所做的错误,但需要知道正确的方法应该是什么,以及当缺少 .env 变量时这些错误在哪里显示。
import dotenv = require('dotenv');
dotenv.config();
export interface Config {
//Server set
serverPort: number;
serverUrl: string;
// Database set
dbPort: number;
dbHost: string;
dbUsername: string;
dbPassword: string;
database: string;
}
const config: Config = {
// Server
serverPort: +process.env.SERVER_PORT || 4000,
serverUrl: process.env.SERVER_URL,
// Database
dbPort: +process.env.DB_PORT || 5432,
dbHost: process.env.DB_HOST,
dbUsername: process.env.DB_USERNAME,
dbPassword: process.env.DB_PASSWORD,
database: process.env.DB_DATABASE,
};
if (!config.serverPort) throw new Error('Environment variable "SERVER_PORT" is not defined');
if (!config.serverUrl) throw new Error('Environment variable "SERVER_URL" is not defined');
export { config };
我尝试实现if(...)但我尝试过并且似乎没有以上述方式工作,如果我不设置 .env 并且我想检查它,则不会显示任何错误。
我的期望是有一个 if 来检查 env 的单个值并显示一个错误,说明哪个没有设置。