1

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

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

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

2 回答 2

4

不,但是您可以简单地console.log用虚拟函数替换生产:

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

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

于 2013-01-14T12:34:12.297 回答
0

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

var DEBUG = true;

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

但它没有像#define.

于 2013-01-14T12:35:45.633 回答