有一种方法可以使jslint在使用控制台时显示警告或错误



我知道很多人宁愿忽略这个警告,但这里有一些原因,因为我认为这应该是个好主意:

  • 和其他变量一样,它只是一个全局变量,我不想在不明确声明它为/*globals*/之一的情况下使用它

  • 有一些jslint选项(如browserdevel),其用途是允许隐式使用全局变量,如documentwindowconsole而不发出警告,因此默认情况下不应允许使用控制台(请注意,默认情况下,documentwindows不允许使用)

  • 我经常使用console进行调试,但我不想在生产中意外地包含那些console.log行,所以依靠jslint帮助我记住删除这些行会非常有用。

因此,我认为默认的jslint行为是在使用控制台时发出警告,但显然不是。你觉得怎么样?是虫子吗?有办法改变这种行为吗?

不是bug。;^)正如@suish所说,默认情况下,JSLint会让您知道您在哪里使用了console。您能提供一个在jslint.com上运行时行为"不正确"的最简单的案例代码示例吗?我不是猴痘的超级粉丝,但suish建议的是一种在不真正解决问题的情况下解决问题的方法(这可能很有用!)。

如果节点包不能正常工作,那就很有趣了——它似乎有一个非常新的JSLint版本。也许它在某个地方设置了默认的JSLint指令?

只需使用不带全局变量的console.log。关闭devel,就可以很容易地找到它们的位置。

此外,如果您在发布代码时将这些放在代码顶部,即使您的产品代码意外包含console.log ,也会禁用.console.log

var console = {};
console.log = function(){};
window.console = console;

相关内容

最新更新