【发布时间】:2022-01-25 09:14:45
【问题描述】:
我正在使用下面的代码块,几个月前我用 JavaScript 构建了它,但上周我决定开始学习 TypeScript。我似乎找不到如何正确定义数据类型。有没有人有任何提示或资源可以帮助我解决这个问题?
这是确切的错误消息:
src/utils/pool.ts:5:5 - 错误 TS2322:类型 '"" | { 拒绝未授权:假; } | undefined' 不可分配给类型 'boolean |连接选项 |不明确的'。 类型 '""' 不可分配给类型 'boolean |连接选项 |未定义'。
5 ssl: process.env.PGSSLMODE && {rejectUnauthorized: false },
非常感谢!
import { Pool, PoolConfig } from 'pg';
export const pool = new Pool({
connectionString: process.env.DATABASE_URL,
ssl: process.env.PGSSLMODE && { rejectUnauthorized: false },
})
pool.on('connect', ()=> console.log('Postgres connected'))
【问题讨论】:
-
您能否分享 Pool 类的代码以更好地回答您的问题。从错误所指示的内容来看,您似乎正在使用类型为 'boolean | 的字符串。连接选项 |未定义'是预期的
-
嘿 Atik,Pool 不是一个类。它是一个 npm 包 npm i @types/pg。但是,当我删除 process.env.PGSSLMODE && 时,它似乎可以工作。
-
我的坏没有看到路径。我从未使用过这个包,但从外观上看,如果我正确解释错误,您需要检查 process.env.PGSSLMode 的值,看起来它是空字符串,在这个短路语法中是错误的,并且分配了 ssl字符串的值应该是 'boolean |连接选项 |未定义'
标签: javascript node.js typescript postgresql express