0

我有一个简单的例子:

var obj = {
  /**
  * @param {number} inp 
  * @returns {number} returning number plus one
  */
  func: function(inp) {
    return inp++;
  },
  c: 'hello',
  q: null
};

obj.func($(document)); // passing invalid parameter

我希望看到有关传递参数不是数字的警告,但获得该参数的唯一方法是至少设置为详细。

如果我使用它会起作用:

obj.func(" "); // passing invalid parameter

并省略 --externs jquery-1.9.1.js 命令参数。一旦我将它与 jquery 结合并将warning_level 设置为详细(我想查看有关无效转换/参数/...的警告),我就会被 jquery 文件中的 5500 个警告淹没。

问题是我不关心 jquery 警告,但必须将其包含在 --externs 中,否则我只会收到一个错误:

variable $ is undeclared

现在我想知道;人们如何使用它?我想强烈键入我的 javascript,但使用外部库我要么没有收到任何警告,要么收到有关缺少 3rd 方库的警告或警告。

已经研究了几个小时,真的希望有比谷歌提供的更好的文档,因为到目前为止还没有太多用处。

4

1 回答 1

1

在大多数情况下,库的原始源代码并不能构成一个好的外部文件。在 jQuery 的情况下,您需要使用Closure-compiler 项目 contrib 文件夹中的官方外部文件。

目前还没有一个 jQuery 1.9 extern 文件,但我会尽快发布一个。除非您使用 1.9 中引入的 api 签名,否则1.8 外部文件就足够了。

于 2013-03-11T11:54:10.390 回答