【问题标题】:Alternatives to console.log?console.log 的替代品?
【发布时间】:2014-10-07 21:14:35
【问题描述】:

我想知道是否有任何替代方法可以在不使用控制台消息的情况下向控制台写入内容。我的项目在完成构建之前删除了所有控制台语句,但在特殊情况下,我需要找到一种通过控制台向用户显示某些内容的方法。如果没有控制台语句,这甚至可能吗?

【问题讨论】:

  • 不行,你只能使用console对象在控制台上显示一些东西。
  • 宁愿找到一种方法来修复您的构建过程 :-) 也许您的删除工具甚至可以被 var displayToConsole = console && console.log ? console.log.bind(console) : function(){};displayToConsole(…) 之类的简单方法规避
  • 如果你的项目只删除了控制台方法的调用,而不是对console对象的引用,你可以定义别名并使用consolevar alias = console; ... alias.log(...);
  • const log = message => eval('console.log(message)')

标签: javascript console


【解决方案1】:

您只能通过 Console 对象写入控制台。 Console 对象提供对浏览器调试控制台的访问。

console.log("Failed to open the specified link")

您可以使用其他方法进行调试: 信息()

console.info('Debug message');

警告()

console.warn('Debug message');

错误()

console.error('Debug error message')

时间()

console.time(label);

表()

console.table(["apples", "oranges", "bananas"]);

跟踪()

console.trace();

对于我来说,我喜欢使用 console.table() 和 console.group()

有关 MDN -https://developer.mozilla.org/en-US/docs/Web/API/Console 和文章 https://medium.freecodecamp.org/how-to-get-the-most-out-of-the-javascript-console-b57ca9db3e6d 的其他信息

【讨论】:

  • 这个问题表明所有console 调用都被提问者的构建过程删除了,所以以上都不会帮助他们。
  • console.info() 如果您正在使用 webpack 等,并且需要在代码完全编译之前调试某些东西,那么它可以成为救命稻草,非常感谢!
【解决方案2】:

如果您的构建过程仅涉及项目中的 console 语句而不涉及依赖项,您可以尝试使用众多第三方日志框架之一。

需要注意的是,它们在内部仍然调用console,如果您的构建过程去除了第三方依赖项的代码,那么我必须说您的过程需要一些更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 2012-01-25
    • 2015-08-05
    • 2011-01-01
    • 2011-10-24
    相关资源
    最近更新 更多