プロジェクトには、HTTPS を使用するかどうかを指定するために使用する必要がある環境変数があります。
SSL_ENABLED=1
この環境変数に基づいて、https または http モジュールを使用しようとしています。
import * as http from parseInt(process.env.SSL_ENABLED || '', 10) ? 'https' : 'http'
const server = http.createServer(...)
上記のインポートは、次の typescript エラーをスローします。
TS1141: String literal expected.
もちろん、https と http の両方を別々にインポートすることで、これを回避できますが、単一のインポートで上記を修正する方法があるかどうか知りたいですか?
typescript がなければ、以下は問題なく動作します:
const http = require('http' + parseInt(process.env.SSL_ENABLED || '', 10) ? 's' : ''))