Licia 是一套在開發中實踐積累起來的實用 JavaScript 工具庫。該庫目前擁有超過 300 個模塊,同時支持瀏覽器、node 及小程序運行環境,提供了包括日期格式化、md五、顏色轉換等實用模塊,能夠極大地提升開發效率。javascript
由於小程序運行的是 JavaScript 代碼,傳統前端所使用的 JS 庫理應也可以被用在小程序中才對。然而,通過實際測試,你會發現有至關一部分 npm 包是沒法直接在小程序中跑起來的。好比前端工程師十分經常使用的 lodash,在小程序中引入會報錯。html
爲何會這樣?前端
主要緣由就是絕大部分庫的開發者在設計時只會考慮兩種運行環境,瀏覽器和 node,而小程序並不會在其考慮範圍內。所以,只要開發者的 JS 代碼使用了只有瀏覽器與 node 中才有的接口,如 DOM 操做、文件讀寫等,該庫就不能正常地運行在小程序環境中。除此以外,假如他們使用了小程序禁用的功能,例如全局變量與動態代碼執行,這時候代碼跑在小程序環境也會出錯。java
一、 安裝 npm 包node
npm i miniprogram-licia --save
二、點擊開發者工具中的菜單欄:工具 --> 構建 npmjquery
三、直接在代碼中引入使用es6
const licia = require('miniprogram-licia'); licia.md5('licia'); // -> 'e59f337d85e9a467f1783fab282a41d0' licia.safeGet({a: {b: 1}}, 'a.b'); // -> 1
使用 npm 包的方式會將全部功能引入到代碼包中,大概會增長 100 kb 的大小。若是你只想引入所需腳本,可使用在線工具生成定製化 util 庫。算法
一、訪問 https://licia.liriliri.io/builder.htmlnpm
二、輸入須要的模塊名,點擊生成下載 util.js。redux
三、將生成的工具庫拷貝到小程序項目任意目錄下而後直接引入使用。
const util = require('../lib/util'); util.wx.getStorage({ key: 'test' }).then(res => console.log(res.data));
一、目前擁有 270 多個模塊可在小程序中正常運行,而 underscore 只有 120 個函數左右。
二、與 lodash 相比增長了很多更加實用的函數,好比 md五、atob、btoa、Emitter、dateFormat 等。
三、能夠直接在小程序中引入運行,不像 lodash 須要進行必定的修改才能正常跑在小程序中。
四、定製化生成可使用更小體積的工具庫,這在限制了代碼包大小的小程序中十分有用。
這裏只簡單列出函數及其功能介紹,詳細的用法請訪問官網查看。
注:模塊名右邊有小程序圖標即代表能夠在小程序中使用。
global
對象,對於瀏覽器,取 window
對象。