代码之家  ›  专栏  ›  技术社区  ›  retorquere

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

  •  1
  • retorquere  · 技术社区  · 9 年前

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

    但这让我“找不到‘佐特罗’这个名字”。有没有办法向typescript编译器发出“Zotero”已声明的信号?

    2 回复  |  直到 9 年前
        1
  •  2
  •   James Monger    9 年前

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

    declare let Zotero: {
        BetterBibTeX: any;
    };
    

    然后你可以使用 if (!Zotero.BetterBibTeX) { ... } 随你的便。


    如果不希望对上的属性进行任何类型检查 肉特柔 ,您可以将其声明为 any 类型:

    declare let Zotero: any;
    
        2
  •  0
  •   Pape    9 年前

    您需要将Zotero导入到模块中。将其声明为any可以解决编译错误,但这并不是真正的输入模块的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();
    
    推荐文章