从其它前端项目切到小程序里,很多第三方npm包都不能使用了,代码要做很多调整。
众所周知,与视图层、网络、cookie相关的npm包肯定是用不了,所以就不列了,这里只列出纯js、理论上环境无关的npm包(node、浏览器都能运行),以便自己及大家参考
小程序中不能使用的npm包:
- async-validator:异常校验框架,“npm构建”出来的包引用不了,只好自己写了个80%兼容的js以重用业务代码;
- jsencrypt:RSA非对称加密算法,“npm构建”出来的包引用不了,只好暂时去掉RSA相关的代码,仰赖https来保证敏感数据的安全性;
- lodash:非常有用的公共js库,“npm构建”出来的包引用报错,只引模块的话,里面有些代码用到函数小程序没有,比如now()
小程序中证实确实可用的,不含特别为小程序编写的前端组件:
- Base64:兼容浏览器缺失的btoa,atob的Base64编解码库;
- debounce:防抖函数包装器,典型使用场景是搜索提示中,保证用户连续的输入只会在输入停止后调用一次网络请求;没有lodash.debounce强大,但已经能解决大部分问题;
- md5:md5摘要算法,这个不用多说了,太常用了
刚刚起步,后面逐步补充,大家也可以一起补充,我在验证过之后,会补充到列表中