如何最好地通过JS linting非问题

时间:2014-09-30 16:49:52

标签: jshint

我有一个文件'AppConfig.js',它定义了名称空间中的对象,如下所示:

MyNamespace.MyObject

在另一个文件中,我使用///样式来引用该对象,稍后在代码中我创建了一个对象的实例:

var appConfig = new MyNamespace.MyObject();
appConfig.version = "1.0"
something.constant('config',appConfig);

问题是JSHint报告“MyNamespace”是一个糟糕的选择,因为它说“不理解'MyNamespace'。这是有道理的。根据JSHint文档,我看到我可以放一个尾随注释忽略整个但是,我得到了'appConfig'未定义的错误。下一个选项是将所有这三行包装在JSHint的开始/结束忽略块中。

这个问题的两个问题是,我将失去所有使用该外部对象定义的代码的JSHinting(在整个应用程序中会发生很多),但另外我希望我的代码库会被这些注释所困扰。如果我只是省略JSHint忽略的东西,我将在我的JSHint报告中显示点击。使用大型应用程序,这将真正快速实现嘈杂...几乎使JSHint报告无效......

有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用CLI版本中的--prereq标志:

jshint anotherfile.js --prereq AppConfig.js

通过浏览器版本中的内嵌注释使用global pragma:

/* global MyNamespace */

<强>参考