自己写的一些工具库,已经用于公司的商业项目。在此分享,不用赞我
(:з」∠) RT
公司的项目使用的是Nodejs进行开发,基于两年的开发经验写了一些工具库,现在已经用在了上线项目中。
这些项目还在持续更新中,难免会有些瑕疵,欢迎issue和PR。
排名不分先后。
-
mongostate
Data state machine. Support transaction in mongoose.
这个库是我们项目中的一个核心库,为什么这么说?Mongodb没有很好的实现Transaction,没有数据回滚的话,上线项目的数据会极容易造成污染(比如执行到一半的程序报了个错,前面更新的数据就是脏数据了)。这个问题困扰我很久,于是开发了这么一个核心库mongostate,基于mongoose的Transaction的实现。实现方案借鉴了FSM的理论。 -
mmq
Mongodb-Message-Queue.
详情请戳 基于mongodb实现的消息队列 -
koa-jwt-mongo
Koa middleware to deal with JSON-web-token in mongodb
将JWT在mongodb中进行维护,是对koa-jwt中间件的一个补充 -
errrr
Custom error class.
自定义的Error类,主要是为了方便。。。和内置的Error对象区分开来。 -
detector.io
基于socket.io实现的探针工具。主要用于项目调试,搭建一个socket.io-client即可对埋入探针的地方进行实时监控。配套的还有一个用RN开发的客户端,这里就不放上来了。 -
oss-serve
Serve static web pages on Aliyun OSS.
使用阿里云OSS来Serve静态网站,用这个工具可以实现一键部署。增量更新。 -
mongoose-better-id
A plugin for mongoose to generator better id
一个mongoose插件用于生成文档id,该id是可读的并且可以定制化的。如默认会生成这样的id:1610211329190(时间戳+三位自增数) -
tlan
Time nature langurage
console.log('today'.ending.is.over('12 hours'.after('today'.beginning))); //true
如果操作Date对象可以像说话一样,想想就不错。tlan是对一些内置类进行的方法补充。 -
koa-docs
An automatic documentation generator for koa.js APIs
这是从外国友人 Amandeep那里fork过来的项目,用于自动生成API文档,我对该库添加了PR做补充,已经被原作者merge。 -
mongoose-json-diff
Diff history plugin for mongoose documents
mongoose插件,给schema添加若干方法,可以记录数据历史。和mongostate配合起来用效果极好。以后会出教程:D
以上所有库全部发布至npm。
安装方法
npm install xxx --save
or yarn add xxx
再次欢迎issue和PR,这些项目都还年轻,如果你看得上,就用吧(所有项目都是MIT license)。