簡體   English   中英

TypeScript:未定義不可分配給類型“布爾|” 連接選項 | 不明確的

[英]TypeScript: undefined is not assignable to type 'boolean | ConnectionOptions | undefined

我正在使用以下代碼塊,幾個月前我在 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'))

從錯誤所指示的內容來看,您似乎正在使用類型為 'boolean | 的字符串。 連接選項 | undefined' 是預期的 試試這個語法

import { Pool, PoolConfig } from 'pg';


 export const pool = new Pool({
      connectionString: process.env.DATABASE_URL,
      ...( process.env.PGSSLMODE ? {ssl: { rejectUnauthorized: false }} : {}),
    })

 pool.on('connect', ()=> console.log('Postgres connected'))

如果您解釋日志 output ,它清楚地表明存在預期類型和您聲明的類型的問題。

預期類型是booleanConnectionOptionsundefined

給定類型是""{rejectUnauthorized: false; }未定義

您需要分配適當類型的變量或更新當前分配變量的類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM