Reactjs console.debug()是否会影响release模式下的react本机性能

Reactjs console.debug()是否会影响release模式下的react本机性能,reactjs,react-native,console.log,Reactjs,React Native,Console.log,我知道console.log()会影响release模式下react native的pref,这在文档中已经非常清楚了,但是console.debug()和console.warn()呢 否则,打印调试消息的最佳方式是什么,而不必在每次发布时都将其全部删除?因为我们需要在开发模式下再次使用这些消息。如果您查看文档,这里有一些关于如何使用babel插件自动删除发布版本中的所有console.*调用的说明 根据[1],您只需安装插件: (一) 2) 将此添加到.babelrc文件中: { "en

我知道console.log()会影响release模式下react native的pref,这在文档中已经非常清楚了,但是console.debug()和console.warn()呢


否则,打印调试消息的最佳方式是什么,而不必在每次发布时都将其全部删除?因为我们需要在开发模式下再次使用这些消息。

如果您查看文档,这里有一些关于如何使用babel插件自动删除发布版本中的所有console.*调用的说明

根据[1],您只需安装插件: (一)

2) 将此添加到.babelrc文件中:

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

1-

如果您查看文档,这里有一些关于如何使用babel插件自动删除版本中所有控制台调用的说明

根据[1],您只需安装插件: (一)

2) 将此添加到.babelrc文件中:

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

1-

有一些网页包插件设计用于删除特定类型的控制台语句,具体取决于您如何配置它们,以便您可以(例如)仅删除
控制台。调试
语句,但上次尝试时,运气不太好

如果您正在使用最新版本的React(例如15.x)构建React JS应用程序,该应用程序是使用
create React app
创建的,并使用
npm run eject
将其弹出,则您将有两个单独的网页包配置。您可以修改生产配置(
/config/webpack.config.prod.js
),并通过修改
plugins
部分中现有的
UglifyJsPlugin
配置,从生产构建中删除所有控制台语句,使其看起来像这样:

new webpack.optimize.UglifyJsPlugin({
  compress: {
    warnings: false,
    // Disabled because of an issue with Uglify breaking seemingly valid code:
    // https://github.com/facebookincubator/create-react-app/issues/2376
    // Pending further investigation:
    // https://github.com/mishoo/UglifyJS2/issues/2011
    comparisons: false,

    // Drop console statements
    drop_console: true,          // <--- ADD THIS
  },
  output: {
    comments: false,
  },
  sourceMap: true,
}),
new webpack.optimize.UglifyJsPlugin({
压缩:{
警告:错误,
//由于一个看似有效的代码出现问题而禁用:
// https://github.com/facebookincubator/create-react-app/issues/2376
//有待进一步调查:
// https://github.com/mishoo/UglifyJS2/issues/2011
比较:错,
//删除控制台语句

drop_console:true,//有一些网页包插件设计用于删除特定类型的控制台语句,具体取决于您如何配置它们,以便您可以仅删除
console.debug
语句,但上次尝试时,我运气不太好

如果您正在使用最新版本的React(例如15.x)构建React JS应用程序,该应用程序是使用
create React app
创建的,并使用
npm run eject
将其弹出,您将有两个单独的网页包配置。您可以修改生产配置(
/config/webpack.config.prod.JS
)并通过修改
plugins
部分中现有的
UglifyJsPlugin
配置,从生产构建中删除所有控制台语句,使其看起来像这样:

new webpack.optimize.UglifyJsPlugin({
  compress: {
    warnings: false,
    // Disabled because of an issue with Uglify breaking seemingly valid code:
    // https://github.com/facebookincubator/create-react-app/issues/2376
    // Pending further investigation:
    // https://github.com/mishoo/UglifyJS2/issues/2011
    comparisons: false,

    // Drop console statements
    drop_console: true,          // <--- ADD THIS
  },
  output: {
    comments: false,
  },
  sourceMap: true,
}),
new webpack.optimize.UglifyJsPlugin({
压缩:{
警告:错误,
//由于一个看似有效的代码出现问题而禁用:
// https://github.com/facebookincubator/create-react-app/issues/2376
//有待进一步调查:
// https://github.com/mishoo/UglifyJS2/issues/2011
比较:错,
//删除控制台语句

drop_console:true,//在我看来,最好的方法是为每个日志输出编写一个包装器。然后可以使用该包装器在生产中切换输出流,例如在侦听调试端口上使用telnet/ssh命令。这允许您在运行的系统上动态激活/取消激活调试输出,还允许远程日志记录和许多操作更多功能。在我看来,最好的方法是为每个日志输出编写一个包装器。然后,这可以用于在生产中切换输出流,例如,在侦听调试端口上使用telnet/ssh命令。这允许您在运行的系统上动态激活/取消激活调试输出,还允许远程日志和更多功能。