Javascript 传输代码时,TypeScript的接口参数不起作用

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",

我在一个名为get()的类中有一个方法

OptionInst是另一个文件的接口

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);