写代码的时候,很多地方都加了这个方便调试,但是在发布产品的时候,部分浏览器下会报错
将这些代码注释后就没问题了。但是,注释的地方太多了,而且下次修改的话还得把注释改回来,难道没有其他的办法避免这些问题么?
代码上线之前没走打包流程么?
开发代码->线下压缩打包->线上
直接在压缩打包的时候自动去掉console和注释就可以了
加一段
try{
console.log();
}catch(e){
....
}
用ant做一个简单的发布流程吧
https://github.com/hellolibo/mbb-buil...
参考:
http://patik.com/blog/complete-cross-...
http://benalman.com/projects/javascri...
HTML5 Boilerplate默认一个处理所有的console call的fallback。
以下摘自:https://github.com/h5bp/html5-boilerp...
(function() { var noop = function noop() {}; var methods = [ 'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd', 'timeStamp', 'trace', 'warn' ]; var length = methods.length; var console = window.console || {}; while (length--) { // Only stub undefined methods. console[methods[length]] = console[methods[length]] || noop; } }());
<!--[if IE]>
<script type="text/javascript">
var console = { log: function() {} };
</script>
<![endif]-->
var console=console||{log:function(){}}