使用React调试日志记录

Dmi*_*sky 4 javascript debugging reactjs

我想:

  1. 将调试日志语句插入到我希望能够在开发期间打开和关闭的代码中; 和
  2. 然后将这些陈述完全剥离出来.

要完成剥离日志以进行生产,我已经看到React项目本身使用了这个习惯用法:

if ("production" !== process.env.NODE_ENV) {
    // warn or log or whatever
}
Run Code Online (Sandbox Code Playgroud)

通过process.env.NODE_ENV设置为编译模块"production"然后通过像UglifyJS这样的死代码消除器运行捆绑包,日志将被删除为无法访问.

这很好,但有更灵活的解决方案吗?我正在考虑类似于debug()Node模块的东西,或者实际上更强大的东西,比如Java日志API.

我想知道为什么我找不到一个结合("production" !== process.env.NODE_ENV)方法的模块debug().

sar*_*ink 6

var debug = function(msg) {
    if ("production" !== process.env.NODE_ENV) console.log(msg);
}
module.exports = debug;
Run Code Online (Sandbox Code Playgroud)

用法:

var debug = require("debug");
debug("some logs");
Run Code Online (Sandbox Code Playgroud)

对不起,我忍不住了;).但实际上,有很多JS日志框架(尽管我真的认为上面的解决方案很简单,你不需要过于复杂的事情).