我正在使用Ext Js和Visual Studio。使用_references.js我可以让intellisense工作。我可以在这里为JsHint添加“Ext”的定义:
但它仍然存在关于ext-all-debug.js的500个错误
我想知道在这里使用JsHint是否会为我的项目添加任何值。 Visual Studio似乎会处理真正的JavaScript语法错误。
警告的一些例子:
JsHint (W116): Expected '===' and instead saw '=='.
或:
JsHint (W083): Don't make functions within a loop.
我应该完全禁用JSHint还是尝试更好地配置它?
当主要框架不遵守规则时,我为什么要这样做?
更新 在Web essentials中,您可以创建名为something.weignore的文件。它遵循与.jshintignore相同的语法。
答案 0 :(得分:1)
你绝对不应该通过ext-all-debug.js运行linter。忽略在项目根目录中使用名为.jshintignore的文件并将ext-all-debug.js的路径放在那里。 .jshintignore内容的一个例子可能是:
content/js/extjs5.1/ext-debug-all.js
content/js/jquery.js
这会告诉jshint忽略jquery.js和extjs。您也可以排除整个目录。看一下jQuery项目的jshint ignore:
https://github.com/jquery/jquery/blob/master/.jshintignore
external
src/intro.js
src/outro.js
test/data/jquery-1.9.1.js
test/data/badcall.js
test/data/badjson.js
test/data/json_obj.js
test/data/readywaitasset.js
test/data/readywaitloader.js
test/data/support/csp.js
test/data/support/getComputedSupport.js
也许Ext JS正在努力在内部解决这些错误,也许他们并不关心。但是,不要让另一个人的代码行为对你自己产生负面影响。如果您觉得使用jshint编写更好的代码,请使用它!你看到的警告背后有很好的理由。