天天看點

聖誕夜,讓你的代碼都變成聖誕樹吧!

今天是聖誕夜,有多少小夥伴是出去過節了呢?當然肯定有更多的小夥伴是等着和TJ君一起分享聖誕夜的編碼快樂!

既然是聖誕夜,那我們今天怎麼也要聊聊和聖誕有關的東西,對不對?

那麼你以為TJ君要給你介紹如何編寫一個聖誕樹?

聖誕夜,讓你的代碼都變成聖誕樹吧!

嗯點子不錯,不過似乎太簡單了?好吧好吧,TJ君肯定不會讓小夥伴們失望,拿出一個壓箱底的好東東~~~

js2image

這是一個神奇的開源項目,有多神奇呢?它可以把js源代碼壓縮成一個ascii字元畫的源代碼的工具,就像這個樣子:

聖誕夜,讓你的代碼都變成聖誕樹吧!

不要小看它哦,被壓縮後的代碼可還是直接可以運作的哦!

不過要注意的是,js2image有一點小局限,就是暫時不支援windows系統(看作者的更新頻率可能後面也不會支援了T_T),并且需要圖檔不能透明、要是白底。

在Node.js中,可按如下指令進行安裝:

具體的使用方法如下:

根據作者的思路,js2image的實作思路有三個步驟:

1、使用現成已有的庫來生成圖檔的字元畫。

2、将目标的js代碼進行分割,然後将分割的代碼分塊裝入第一步的字元畫裡。(分割的原理是将js源碼解構成一個數組)

3、對于那些不能分開的js文法,特别需要注意要特殊處理,儲存在一起。(難點在于如何提取出所有,記住是所有,不可分割的文法)

具體的核心思路,在作者的代碼裡都實作啦,感興趣的小夥伴,趕緊來一探究竟!聖誕夜讓我們把代碼都變成聖誕樹吧!擷取代碼位址如下:

https://mp.weixin.qq.com/s/27BMDTf7ybnGj9Z08cPxBw