【发布时间】:2022-11-09 00:18:48
【问题描述】:
我正在尝试将环境变量包含到我的池对象中(从数据库端口开始)。我的文件是这样的:
import { Pool } from 'pg';
import * as dotenv from 'dotenv';
dotenv.config({ path: __dirname + '/.env' });
console.log(process.env.DATABASE_PORT)
const pool = new Pool({
user: 'postgres',
host: 'localhost',
password: '123456',
database: 'db',
port: process.env.DATABASE_PORT
});
export = pool;
我得到“类型'string | undefined'不可分配给类型'number | undefined'。”
我试图用
port: process.env.DATABASE_PORT | 5432
和
port: Number(process.env.DATABASE_PORT | 5432)
但这些都不起作用。
我考虑过使用“!”,但这似乎不是一个好习惯(也没有工作:b)。
关于我能做些什么来解决这个问题的任何想法?
【问题讨论】:
-
默认运算符为
||。您正在使用不正确的按位或运算符|。 -
port: Number(process.env.DATABASE_PORT | 5432)如上所述,使用||而不是|。除此之外,当 5432 已经是数字时,不要尝试将其转换为数字。port: Number(process.env.DATABASE_PORT) || 5432 -
谢谢两位,它正在工作:)
标签: node.js typescript postgresql environment-variables