JavaScript中的DEBUG指令

时间:2013-01-14 12:32:15

标签: javascript

有没有办法在JS代码中使用某种DEBUG指令导致调试代码不包含在生产中?例子:

// #if debug
console.log('Initializing');
// #endif

var url =
// #if debug
    '/foo/debug';
// #else
    '/foo';
// #endif

2 个答案:

答案 0 :(得分:4)

没有。但您可以简单地将console.log替换为用于生产的虚拟函数:

window.console = window.console || {};
window.console.log = function() { /* do nothing */ };

然后,您只需要配置构建工具(假设您有一些),只在生产版本中包含该代码。

答案 1 :(得分:0)

好吧,你可以定义全局变量:

var DEBUG = true;

// Somewhere else:
if (DEBUG)
    console.log('Initializing');

但它没有#define等语言功能。