我有一个文件'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报告无效......
有没有更好的方法来解决这个问题?
答案 0 :(得分:0)
使用CLI版本中的--prereq
标志:
jshint anotherfile.js --prereq AppConfig.js
通过浏览器版本中的内嵌注释使用global
pragma:
/* global MyNamespace */
<强>参考强>