Javascript 传输代码时,TypeScript的接口参数不起作用
我在一个名为get()的类中有一个方法 OptionInst是另一个文件的接口Javascript 传输代码时,TypeScript的接口参数不起作用,javascript,typescript,interface,transpiler,Javascript,Typescript,Interface,Transpiler,我在一个名为get()的类中有一个方法 OptionInst是另一个文件的接口 export interface Options { tipoRespuesta?: "json" | "arrayBuffer"; params?: string; data?: string; headers?: HeadersInit; } export default Options; 我的配置是: { "compilerOptions": { "target": "es6",
export interface Options {
tipoRespuesta?: "json" | "arrayBuffer";
params?: string;
data?: string;
headers?: HeadersInit;
}
export default Options;
我的配置是:
{
"compilerOptions": {
"target": "es6",
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"outDir": "./dist",
"module": "CommonJS",
"declaration": true,
"allowJs": true
},
"exclude": ["node_modules"]
}
要传输,我使用npm run build
,并生成一个dist文件夹。
为了测试它,我创建了一个新文件并运行npmtest.js
var CL = require("../dist/index.js");
let instancia = new CL("https://reqres.in/api/");
instancia.get("users").then(console.log);
错误如下所示:
if (utils.isEmpty(opt.headers)) {
^
TypeError: Cannot read property 'headers' of undefined
如果以下行在类中的
get(url,opts:optioninst)
方法中
if (utils.isEmpty(opt.headers)) {
那么你的问题是你调用它时没有定义ops参数,这里:
instancia.get("users").then(console.log);
错误只是说它无法读取属性opt.headers
,因为opt
是未定义的
实际上,您应该得到上面那一行的Typescript错误,告诉您调用中缺少opts
参数-请检查。但是Typescript仍然会编译代码,只是在运行时导致运行时错误——显然Typescript正试图帮助您避免这种情况
instancia.get("users").then(console.log);