我别无选择,只能使用客户提供的一些古老的js库。所以我无法修复错误,也无法找到更好的解决方案。来源不可更改。
考虑到这种情况,有什么方法可以抑制来自外部库的警告或错误吗?即使他们在某个地方有一个控制台日志。我想防止这个脚本用不必要的信息淹没我的控制台。
以前有人处理过吗?
jeanfrg 的答案的另一种选择是根据字符串的关系“过滤”。这样你仍然可以保留你想要的。
像这样:
export const setupWarning = () => {
const originalWarn = console.warn
console.warn = (...args) => {
// Silent specific warning
if(args[0].toString().includes('a substring of the warning I want to ignore')){
return
}
// Call the original console.warn with the provided arguments
originalWarn.apply(console, [...args])
}
}
注意:
...但这就是你可以做到的
var newConsole = jQuery.extend(true, {}, console);
console.log = console.info = console.error = function noop(){}; //etc
// some old crusty lib that you cannot modify
console.log("hey!");
newConsole.log("hey!");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>