如何忽略项目中的特定警告
通过覆盖 console.error
或 console.warn
方法来实现。这种方法允许你筛选并忽略特定的错误(警告)消息,而不会影响其他正常的错误(警告)日志输出。
以下示例忽略了 antd 组件库中部分废弃 API 的警告
ts
/** 忽略特定的错误日志
*
* 包括部分无法解决的问题、特性被废弃的警告、不影响系统运行的错误
*/
export const ignoreConsoleError = () => {
if (process.env.NODE_ENV !== 'development') return; // 仅在开发环境忽略
const originalConsoleError = console.error;
const IGNORED_ERRORS = [
'Warning: [antd: Modal] `visible` will be removed in next major version, please use `open` instead.',
'Warning: [antd: Drawer] `visible` is deprecated which will be removed in next major version, please use `open` instead.',
'Warning: [antd: Drawer] `afterVisibleChange` is deprecated which will be removed in next major version, please use `afterOpenChange` instead.',
];
console.error = function filterErrors(msg, ...args) {
if (!IGNORED_ERRORS.some((error) => msg.includes(error))) {
originalConsoleError(msg, ...args);
}
};
};