有没有办法让 jslint 在使用控制台时显示警告或错误?
There is a way to make jslint show a warning or an error when console is used?
我知道很多人宁愿忽略该警告,但这里有一些原因,因为我认为这应该是个好主意:
它只是一个全局变量,和其他变量一样,我不想在没有明确声明它为 /* 全局变量之一的情况下使用它 */
有一些 jslint 选项(如 browser 或 devel),porpuse 允许隐式使用document、window 和 console 等全局变量没有警告,因此使用 [=默认情况下不应允许 20=]console(请注意 document 和 window 不允许默认)
我经常使用 console 进行调试,但我不想在生产中不小心包含那些 console.log 行,所以它会依靠 jslint 来帮助我记住删除那些行真的很有用。
所以,我认为默认的 jslint 行为是在使用 console 时发出警告,但显然不是。你怎么看?这是一个错误?有办法改变这种行为吗?
只需使用console.log
而不用全局variable.and关闭devel
然后你就可以轻松找到它们的位置。
此外,如果您在发布时将这些放在代码的顶部,即使您的产品代码不小心包含 console.log
,您的 code.console.log 也会被禁用
var console = {};
console.log = function(){};
window.console = console;
不是错误。 ;^) 正如@suish 所说,默认情况下 JSLint 确实会让您知道您在哪里使用 console
。您能否提供一个最简单的代码示例,当 运行 on jslint.com? I'm not a huge fan of monkeypatching 时,它的行为是 "incorrectly",但是 suish 建议的是一种无需真正解决问题就可以解决问题的方法(这可能很有用! ).
如果节点包无法正常工作,这很有趣——它似乎确实有 a very recent version of JSLint。也许它在某处设置了默认的 JSLint 指令?
我知道很多人宁愿忽略该警告,但这里有一些原因,因为我认为这应该是个好主意:
它只是一个全局变量,和其他变量一样,我不想在没有明确声明它为 /* 全局变量之一的情况下使用它 */
有一些 jslint 选项(如 browser 或 devel),porpuse 允许隐式使用document、window 和 console 等全局变量没有警告,因此使用 [=默认情况下不应允许 20=]console(请注意 document 和 window 不允许默认)
我经常使用 console 进行调试,但我不想在生产中不小心包含那些 console.log 行,所以它会依靠 jslint 来帮助我记住删除那些行真的很有用。
所以,我认为默认的 jslint 行为是在使用 console 时发出警告,但显然不是。你怎么看?这是一个错误?有办法改变这种行为吗?
只需使用console.log
而不用全局variable.and关闭devel
然后你就可以轻松找到它们的位置。
此外,如果您在发布时将这些放在代码的顶部,即使您的产品代码不小心包含 console.log
var console = {};
console.log = function(){};
window.console = console;
不是错误。 ;^) 正如@suish 所说,默认情况下 JSLint 确实会让您知道您在哪里使用 console
。您能否提供一个最简单的代码示例,当 运行 on jslint.com? I'm not a huge fan of monkeypatching 时,它的行为是 "incorrectly",但是 suish 建议的是一种无需真正解决问题就可以解决问题的方法(这可能很有用! ).
如果节点包无法正常工作,这很有趣——它似乎确实有 a very recent version of JSLint。也许它在某处设置了默认的 JSLint 指令?