如何在TypeScript中将静态类添加到声明文件中?

时间:2016-12-01 21:53:14

标签: typescript webstorm typescript-typings

我正在 TypeScript 中创建 UMD 库。 我有一个方法,我的第一个类,一个静态类。我的库名为 SuperLib ,这是代码:

export class Security {
  static userExists ( user: string ): boolean {
     ...
  }
}

使用 Webpack ,我生成了JS Lib:SuperLib.js并且它以这种方式正常工作:

<head>
  <script src="libs/SuperLib.js"></script>
</head>
<body>
  <script>
    var exits = SuperLib.Security.userExists ("user01");
    console.log ("User01 exits? " + exits)
  </script>

现在我创建了声明文件SuperLib.d.ts。 我是这样创造的:

declare namespace SuperLib {
  export class Security {
    userExists ( user: string ): boolean;
  }
}

我的情况:

在HTML中使用我的库,在 WebStorm 中使用声明文件,安全类不会被视为静态类。

自动填充功能填写为:

var exits = SuperLib.Security().userExists ("user01");&lt;&lt;安全后查看()。

我需要这样的节目:

var exits = SuperLib.Security.userExists ("user01");

为什么呢?我怎么解决它?

1 个答案:

答案 0 :(得分:0)

在声明文件中缺少静态&#39;。更正的代码是:

declare namespace SuperLib {
  export class Security {
    static userExists ( user: string ): boolean;
  }
}