反应原生。在一个地方打开/关闭控制台日志的机制

问题描述 投票:0回答:2

我的代码中有很多console.log。我们知道这些日志会减慢app的速度,所以在开发结束时我需要删除所有这些日志,但当然我不记得我拥有它的所有地方。我如何使用一些我可以使用的console.log包装器,以便我可以在一个地方打开或关闭所有控制台日志?如果我的方法不是很好,请告诉我一些图书馆,工具,做我需要的方法......

reactjs debugging react-native console.log
2个回答
2
投票

您可以通过以下两种方式执行此操作:

if(!__DEV__) {
  console = {};
  console.log = () => {};
  console.error = () => {};
}

更好的方法是使用babel插件transform-remove-console创建.babelrc文件,并设置babel transpiler。

示例设置:

{
  "presets": ["react-native"],
  "env": {
    "production": {
      "plugins": ["transform-remove-console"]
    }
  }
}

来源:https://facebook.github.io/react-native/docs/performance.html#using-consolelog-statements


1
投票

使用此:https://github.com/babel/minify/tree/master/packages/babel-plugin-transform-remove-console

或者你可以在这样的utils中创建一个函数:

export const showLog = (tag, log) => {
  console.log(tag + ' : ' + log);
};

并在项目的任何位置使用showLog:

import { showLog } from '../utils/utils';

showLog('VideoPlayer', response)
© www.soinside.com 2019 - 2024. All rights reserved.