performance automation react-native console.log

performance - Eliminando console.log de la aplicación React Native



automation react-native (5)

Babel Transpiler puede eliminar las declaraciones de la console por ti con el siguiente complemento:

npm i babel-plugin-transform-remove-console --save-dev

Editar .babelrc:

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

Y las declaraciones de la console se eliminan de su código.

fuente: https://hashnode.com/post/remove-consolelog-statements-in-production-in-react-react-native-apps-cj2rx8yj7003s2253er5a9ovw

¿Debería eliminar las llamadas de console.log() antes de implementar una aplicación React Native en las tiendas? ¿Hay algún rendimiento u otros problemas que existen si las llamadas console.log() se mantienen en el código?

¿Hay alguna forma de eliminar los registros con algún corredor de tareas (de manera similar a los corredores de tareas relacionados con la web como Grunt o Gulp)? Todavía los queremos durante nuestra fase de desarrollo / depuración / prueba, pero no en producción.

¡Gracias!


Bueno, siempre puedes hacer algo como:

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

Por lo tanto, console.log se invalidará tan pronto como __DEV__ no sea verdadero.



El uso de Sentry para rastrear excepciones deshabilita automáticamente console.log en producción, pero también lo usa para rastrear registros desde el dispositivo. Así que puedes ver los últimos registros en detalles de excepción de centinela (breadcrumbs).


He encontrado que lo siguiente es una buena opción ya que no hay necesidad de iniciar sesión incluso si __DEV__ === es verdadero, si no está también en la depuración remota.

De hecho, he encontrado ciertas versiones de RN / JavaScriptCore / etc que casi se detienen al registrar (incluso solo cadenas) que no es el caso del motor V8 de Chrome.

// only true if remote debugging const isDebuggingEnabled = (typeof atob !== ''undefined''); if (!isDebuggingEnabled) { console.log = () => {}; }

Comprobar si la depuración remota de JS está habilitada