import http from "http";
import https from "https";
const module = (options.port === 443 ? "https" : "http");
const req = [module].request(options, (res) => {
console.log(res.statusCode);
});
error TS2339: Property ‘request’ does not exist on type ‘string[]’.
>Solution :
The [module] array syntax should be changed to module.
Additionally, you should use conditional importing to only import the module that you require. Please note that because import returns a promise, you will need to add the code in your example into an async function and prepend await in front of each import statement:
async function invokeHttpRequest() {
const module = (options.port === 443 ? await import("https") : await import("http"));
const req = module.request(options, (res) => {
console.log(res.statusCode);
});
}