有没有办法在 JS 代码中使用某种 DEBUG 指令导致调试代码不包含在生产中?例子:
// #if debug
console.log('Initializing');
// #endif
var url =
// #if debug
'/foo/debug';
// #else
'/foo';
// #endif
有没有办法在 JS 代码中使用某种 DEBUG 指令导致调试代码不包含在生产中?例子:
// #if debug
console.log('Initializing');
// #endif
var url =
// #if debug
'/foo/debug';
// #else
'/foo';
// #endif
不,但是您可以简单地console.log
用虚拟函数替换生产:
window.console = window.console || {};
window.console.log = function() { /* do nothing */ };
然后您只需要配置您的构建工具(假设您有一些)以仅在生产构建中包含该代码。
好吧,你可以定义全局变量:
var DEBUG = true;
// Somewhere else:
if (DEBUG)
console.log('Initializing');
但它没有像#define
.