如何在打字稿(数组语法)中使用模块?
How to use a module in typescript (array syntax)?
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);
});
错误 TS2339:属性 'request' 在类型 'string[]' 上不存在。
是这样的吗?
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);
});
[module]
数组语法应更改为 module
。
此外,您应该使用条件导入来只导入您需要的模块。请注意,因为 import
returns 一个承诺,您需要将示例中的代码添加到 async
函数中,并在每个 [=13= 前面添加 await
]声明:
async function invokeHttpRequest() {
const module = (options.port === 443 ? await import("https") : await import("http"));
const req = module.request(options, (res) => {
console.log(res.statusCode);
});
}
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);
});
错误 TS2339:属性 'request' 在类型 'string[]' 上不存在。
是这样的吗?
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);
});
[module]
数组语法应更改为 module
。
此外,您应该使用条件导入来只导入您需要的模块。请注意,因为 import
returns 一个承诺,您需要将示例中的代码添加到 async
函数中,并在每个 [=13= 前面添加 await
]声明:
async function invokeHttpRequest() {
const module = (options.port === 443 ? await import("https") : await import("http"));
const req = module.request(options, (res) => {
console.log(res.statusCode);
});
}