簡體   English   中英

使用附加功能和正確的行號包裝console.log

[英]Wrapping console.log with additional function and correct line numbers

我在努力獲取console.log來保持正確的行號並執行其他功能。

 var original = console.log console.log = function() { // Can run additional tasks console.warn('additional stuff here'); // Wrong line number given console.log.apply.call(original, console, arguments); } console.log('test') 

我經過以下步驟: 使用正確的行號為console.log正確包裝嗎?

但是,我似乎只能保持正確的行或從提供的答案中運行附加功能,但不能同時兼顧兩者。

謝謝大家:)

當使用該答案的方法時,行號起作用的原因是console.log被想要行號的代碼直接調用。 在上面的代碼中,不是,也不能是因為您想要注入行為。

我能想到的唯一解決方案是在代碼上運行的Babel插件或類似程序,以便輸出的轉換代碼可以在調用站點(而不是在被調用函數中) 就地插入其他行為。 例如,它將轉換為:

console.log("foo");

{console.warn("additional stuff here");console.log("foo");}

或類似。 這將是不平凡的(盡管與最復雜的Babel插件相去甚遠:-))。

我只為遇到此問題的任何人編寫了babel插件來解決此問題:

https://github.com/peteringram0/babel-plugin-console-source

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM