前端基础工具库 fdutils

之前在我的概念里,有好东西可以直接写一篇文章进行分享,最近才发现,文章都是零零散散的,大部分人都很难找到,或者说,就算之前有看过,当使用的时候,说不定也会忘记,所以就把在工作常用的一些基础功能,整理成一个`fdutils`工具库;

### 1. 项目

项目地址:[fdutils](https://github.com/zhangyunling/fdutils)

在线的单元测试:[单元测试](http://www.zhangyunling.com/study/fdutils/)

### 2. 来说一说

工具库里的代码,大部分都使用了很久,这次整理出来,理论上也没有花费很多时间。

但既然是要发布到github和npm上,那有些基础的设施,还是要完善一下的;

所以,在这个项目里,包含了代码规范检查,单元测试,自动化生产readme的api列表等;

有了这些,至少可以保证,代码的质量和文档的实时性,目前还遗留的一部分的是:文档;

关于文档,我这里又一些考虑,jsdoc虽然可以生成一些简单的文档,我觉得可能满足不了我的要求,我希望文档中,会有一些常用的示例,可能包含很多示例,所以这个我现在暂时留空;

`typescript`暂时没有使用,因为当时给自己的期限是2019.5.14要发布,而4月份的工作还是很忙的,所以就暂时先没有使用(因为自己不熟悉);

### 3. 欢迎尝试

为了方便开发,我这边的单元测试,分别支持了浏览器和node的,所以可以通过以下的方式,来启动项目:

“`
npm run dev
“`

启动之后,可以通过`http://localhost:8080/`访问测试的首页,在首页会列举出所有的API,直接点击对于的API名称,就可以到该API的测试页面;

所以,这里建议:可以先把单元测试写好了,再进行功能开发,测试页面会自动刷新,可以实时看到自己的代码是否通过验证,方便测试也保证代码质量;

如果希望给整个项目跑一下单元测试,可以使用如下的命令:

“`
npm run test
“`

### 4. 现在还是第一版,当前支持的API如下:

– `isArray`: (v:`1.0.0`) 判断是否为数组类型

– `isBoolean`: (v:`1.0.0`) 判断是否为布尔值类型

– `isDate`: (v:`1.0.0`) 判断是否为Date类型

– `isError`: (v:`1.0.0`) 判断是否为Error对象

– `isFunction`: (v:`1.0.0`) 判断是否为数字类型

– `isLeapYear`: (v:`1.0.0`) 判断是否为闰年

– `isNumber`: (v:`1.0.0`) 判断是否为数字类型

– `isObject`: (v:`1.0.0`) 判断是否为对象类型

– `isRegExp`: (v:`1.0.0`) 判断是否为正则类型

– `isString`: (v:`1.0.0`) 判断是否为字符串类型

– `colorRandom`: (v:`1.0.0`) 生成一个随机的颜色

– `hexToRgb`: (v:`1.0.0`) 根据hex的值,生成rgb格式的值,支持hex8 -> rgba

– `rgbToHex`: (v:`1.0.0`) 根据rgb格式的值,生成hex格式的颜色值,支持rgba -> hex8

– `debounce`: (v:`1.0.0`) 函数防抖,只触发最后一次调用;

– `throttle`: (v:`1.0.0`) 函数节流,一定时间内,只执行一次回调函数

– `numberFormat`: (v:`1.0.0`) 把数字字符串进行分割,支持字符串类型的数字

– `deepClone`: (v:`1.0.0`) 深copy,如果不是对象,则直接返回

– `objectToString`: (v:`1.0.0`) 把规定格式的Object转换为String格式

– `xssDecode`: (v:`1.0.0`) 进行XSS编码

– `xssEncode`: (v:`1.0.0`) 进行XSS编码

– `stringToObject`: (v:`1.0.0`) 把规定格式的Str转换为Object格式

– `dateFormat`: (v:`1.0.0`) 转换为指定格式的时间

– `dateNature`: (v:`1.0.0`) 根据传入的日期,转换出一些指定的节日信息

– `preciseCountDownTimer`: (v:`1.0.0`) 倒计时的插件

### 5. 最后

会一直保持更新维护,欢迎大家使用,也欢迎大家提出一些意见,感谢阅读;

本文地址:http://www.zhangyunling.com/?p=917

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>