首页 > 解决方案 > 从生产模式中删除日志不起作用-本机反应

问题描述

React 本机文档声明“您也可以使用此 babel 插件来删除所有控制台。* 调用。您需要先使用 npm i babel-plugin-transform-remove-console --save-dev 安装它,然后编辑.babelrc 文件在你的项目目录下,像这样“

{
  "env": {
    "production": {
      "plugins": ["transform-remove-console"]
    }
  }
}

我没有找到 .babelrc 文件。因此,我在 babel.config.js 文件中进行了以下更改。

module.exports = {
  presets: ['module:metro-react-native-babel-preset'],
  env: {
    production: {
      plugins: ["transform-remove-console"]
    }
  }
};

但这对我不起作用。当我在 Android Studio 中测试它们时会显示这些日志。这里出了什么问题?

标签: react-native

解决方案


记录的方法也不适用于我现有的项目,但它适用于一个新的测试项目。我尝试了许多依赖项升级,添加/删除 deps、插件等,试图找出问题的根源,但没有运气。所以最后我采用了这个解决方法:

    module.exports = {
      plugins: ['@babel/plugin-proposal-numeric-separator', 'lodash'].concat(
        process.env.NODE_ENV === 'production' ? ['transform-remove-console'] : []
      ),
      presets: [
        'module:metro-react-native-babel-preset',
        ['@babel/env', { targets: { node: 6 } }]
      ]
    };


推荐阅读