声明在另一个文件中初始化的变量

时间:2016-10-05 12:03:17

标签: typescript

我有一些代码引用了一个我知道已经在我之前加载的文件中声明的变量,如

if (!Zotero.BetterBibTeX) { ... }

但这让我发现了#34;找不到名字' Zotero'"。有没有办法向打字稿编译器发出信号" Zotero"宣布?

2 个答案:

答案 0 :(得分:2)

您可以将文件添加到您使用Zotero的文件顶部:

declare let Zotero: {
    BetterBibTeX: any;
};

然后您可以根据需要使用if (!Zotero.BetterBibTeX) { ... }

如果您不希望对Zotero上的媒体资源进行任何类型检查,则可以将其声明为any类型:

declare let Zotero: any;

答案 1 :(得分:0)

您需要将Zotero导入您的模块。将其声明为任何解决了编译错误..但这并不是TypeScript导入模块的方式。

// -------------------
// File ./zotero.ts
// -------------------
export class Zotero {
  someFunction() {
    // some code..
  }  
}

// -------------------
// File ./main.ts
// -------------------
import { Zotero } from "./zotero.ts";

// Now you can use Zotero.
let z = new Zotero();
z.someFunction();