我使用 babelify + watchify + envify + uglify 并设置 node_env
watchify ... -g [envify --NODE_ENV development]
所以我想到了这样的断言:
import assert from 'assert';
function debug_assert(actual, expected, message = 'AssertionError'){
if(process.env.NODE_ENV !== 'production'){
assert.equal(actual, expected, message);
}
}
uglify 足够聪明,可以删除 debug_assert 的主体,但不会删除代码中对 debug_assert 的实际调用。
如果没有太多额外的代码,是否可以从发布版本中正确删除断言调用?