最近一兩年在一些項目上,通過實際需求出發,編寫了一些庫在項目中使用,現在將這些項目都稍微整理了一下開源了出來,也許也有剛好能夠你也用得上的,順便也騙一下star。均在項目的README
中加了相關的說明。
迷你全功能的模板引擎(壓縮版代碼不到2kb)
項目地址: https://github.com/coffeedeveloper/coffee-tmpl
npm包名: coffee-tmpl
語法和ejs
保持一致,只不過這個模板引擎只能用到瀏覽器,不支持layout
之類的高級用法。會寫這個庫是因為很多情況下,我需要做一些小型到中型的模板輸出,而我覺得市面上大部分的模板引擎都太大太負責了,這個庫的迷你以及支持原生的js語句,能夠覆蓋大部分使用場景了。
可配置的抽獎轉盤模板
項目地址: https://github.com/coffeedeveloper/turntable
npm包名: lottery-turntable
之前做抽獎活動的時候發現市面上基本上轉盤的抽獎都是采用一張背景圖片去做transition
,滿足不了動態增刪改獎品這樣的靈活運營需求,特意寫了一個支持兩種動畫類型(transition / requestAnimationFrame)的。是采用svg繪出整個轉盤,主要用於手機端方面的活動。
將js數組導出成CSV文件(解決了中文編碼的問題)
項目地址: https://github.com/coffeedeveloper/exportjs
npm包名: exportjs
在做管理后台的時候,需要將一些表格的數據導出,以前都是讓服務端開發單獨的一個報表導出接口。可是考慮到一些簡單的情景,可以通過遍歷列表接口,然后匯總后前端自己做報表的生成導出即可。這個庫解決了類似中文編碼之類的問題。在只針對管理后台的情況下是能夠直接運用的(我們只限制使用人員用chrome),因此不需要過多的考慮兼容性的問題。
功能完善的滾動加載庫
項目地址: https://github.com/coffeedeveloper/loadmaster
npm包名: loadmaster
當你頁面需要滾動加載以及做當前模塊曝光埋點,以及圖片延遲加載的時候,采用這個庫就能夠很好的完成。會自動檢測你的當前曝光模塊、即將加載的模塊、已經離開的模塊,即將到底部的檢測。可以通過在事件觸發的時候完成對應的處理,還是相當方便的。
一個很簡易的事件監聽觸發庫
項目地址: https://github.com/coffeedeveloper/coffee-eventemitter
npm包名: coffee-eventemitter
主要是在某些場景下(例如: 通知數據變化之類的store事件),需要用到自定義的事件觸發時,可以很方面的套用過來。支持on\once\off\emit
娛樂性的打字效果庫
項目地址: https://github.com/coffeedeveloper/typing.js
npm包名: typing.js
之前寫的娛樂性庫,曾經也宣傳過一次,可以通過demo來看下效果。 demo
總結
這些庫都是在實際的生產環境項目上跑過的,大的bug可以說是都沒有的。當然可能在某些極端情況下的場景沒有照料到,如果你發現了bug,可以給我提issue
我會抽空修復的。當然最后如果你覺得這些苦能夠在項目上幫助到你,也不妨幫忙點個star,激勵一下我_