关于在没有webpack的时候,怎样避免生产环境打印出console.log

234 阅读1分钟

前言

之所以想记录这个问题的原因,是因为由于无情的疫情导致,公司强制放假,被迫面临找工作,在面试过程中被问到的一个问题。

对于一个半路转行做前端的小白来说,基础知识确实是差的很。当被问到此问题的时候,脑子也是蒙了一下,觉得重写console.log方法是肯定的,但在什么时候重写,并且怎样重写,面试的时候真的脑袋一片空白。回家之后自己好好的研究了一番。

以下是问题的答案,有不同见解,或者有更好方法的,请多多请教~~~ 在这谢谢大家啦

console.log = (function (consoleLog) {
    return function() {
      if (!Config.isProduct) {  // 判断如果不是生产环境
        try {
           consoleLog.call(console, ...arguments);
        } catch(e) {
            console.error('console.log error', e);
        }
      }
    }
})(console.log);