print.js
對瀏覽器內(nèi)部window上自帶的console對象的一個極其簡單的封裝。
背景
前幾天入挣,我們后端同事說:“你們前端的項目在瀏覽器上打開控制臺递惋,全是log访惜,顯得好low啊。宙址。轴脐。÷丈埃”大咱;
我:“。注益。碴巾。〕笊Γ”
所以厦瓢,今天抽了一點時間,把瀏覽器里window上的console這個對象看了一遍啤月,才發(fā)現(xiàn)這個console對象的所有方法煮仇,歐...麥...噶...Emmm...比我常用的那些(conosle.log、console.dir)確實要多那么一點方法谎仲。哈哈哈哈哈哈
干嘛用的
目的是浙垫,在項目中用 $print
代替 console.log
等 console
里面的這些方法, 然后定義一個開關(guān)郑诺,控制什么情況下在控制臺打印log夹姥,什么情況下在控制臺里不顯示打印的內(nèi)容信息。
它有一個好處就是辙诞,你用$print.log()
的時候辙售,和使用原生的console.log()
的效果一模一樣,并且可以看到當(dāng)前打印是處于哪個文件的哪一行。點擊打印信息所屬的文件可以直接定位到當(dāng)前代碼互广。
因為之前有個同事封裝過console
砌庄,但是打印出來的信息總是顯示是來自 logger.js 的某一行。不便于本地開發(fā)環(huán)境下的代碼定位和調(diào)試志鹃。
后來一直有想寫這個的想法,太懶了泽西,又比較忙曹铃,,捧杉,so...
說的有點亂啊陕见,簡單總結(jié)下:
1. 和console效果一樣
2. 多了一個開關(guān)秘血,控制何時在瀏覽器里打印,何時不打印评甜。
3. 可以顯示 $print 是用在那個js文件的灰粮,點擊 xxx.js?4244:23 就可以直接打開對應(yīng)的source文件的相應(yīng)位置。(和console一樣)
使用
使用方法很簡單忍坷,直接把print.js拿到自己項目中粘舟,然后配置下第38行,判斷什么情況下把控制臺里的打印開關(guān)開啟佩研。
我當(dāng)時是在寫一個vue-cli的項目柑肴,可以通過process.env.NODE_ENV判斷就OK了。
代碼很簡單旬薯,一共47行晰骑。
比如 $print.log('ellis')
和 console.log('ellis')
是一樣的效果。
$print.log('hello world')
// "hello world"
原生有的方法绊序,它都有硕舆。
詳情可以去看====》 MDN Console
吐槽一下
這可能是README比代碼還要多的一個項目了。哈哈哈
github 地址
https://github.com/ellis-s/print
能給個星星就更好了~