2016-06-08 150 views
2

我有console.log到處都是。將它們全部去除並不好,因爲我可能再次需要它們。有沒有辦法爲整個反應應用程序做這樣的事情?reactJS禁用console.log系統範圍

if(env === 'production'){ 
    console.log= function(){} 
} 
+0

有重載函數像你想在這裏做的方式。但是,我只是在我的項目上進行文件夾搜索,並搜索替換'console.log('''with'//console.log(')的所有實例。 – Chris

回答

5

鑑於您正在使用React,很可能您已經將babel用作構建過程的一部分。

您可以使用此babel plugin刪除構建階段中的所有控制檯。*函數調用。

1

一個更安全的方法是不使用console.log和一個自定義記錄器實現在需要的時候,你可以關掉去。

爲了讓你順其自然,可以使用優秀的debug npm軟件包,該軟件包可以輕鬆關閉全局或選擇性,並且可以在nodejs服務器端和客戶端上運行。

0
export function consoleLog() { 
    const args = [...arguments]; 
    for (let i = 0; i < args.length; i++) { 
    console.log(args[i]); 
    } 
} 

保存這是一個文件的地方,然後搜索所有文件的執行console.log與consoleLog更換,並確保你導入它在每個文件的頂部要使用它。

當你建立你的產品包,你可以簡單地改變它......

export function consoleLog() { 
    // const args = [...arguments]; 
    // for (let i = 0; i < args.length; i++) { 
    // console.log(args[i]); 
    // } 
}