Reactjs console.debug()是否会影响release模式下的react本机性能
我知道console.log()会影响release模式下react native的pref,这在文档中已经非常清楚了,但是console.debug()和console.warn()呢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
否则,打印调试消息的最佳方式是什么,而不必在每次发布时都将其全部删除?因为我们需要在开发模式下再次使用这些消息。如果您查看文档,这里有一些关于如何使用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命令。这允许您在运行的系统上动态激活/取消激活调试输出,还允许远程日志和更多功能。