AI考拉技术分享-Node基础架构专题
前言
2018 年,考拉开始对现有项目的常用的工具库进行整理,包含日期处理,数字处理,logger 等常用工具,并打包成 npm module,方便各个项目使用。
后期,我们也将重点分享这部分工具库的使用,大家感兴趣的一起来交流学习,有bug欢迎提出!
一、代码风格
在开发工具库之前,我们统一了编码标准
(一)JavaScript 代码规范
前端 browser 通用 统一使用 eslint-config-klg ,基于 eslint-config-standard 封装 安装说明见文档
(二)Typescript 代码规范
统一使用 tslint-config-klg ,基于 tslint-config-standard 封装
安装说明见文档
二、脚手架
我们也提供了脚手架 klg-init,来方便大家启动一个新项目。 安装好这个工具后,一键生成项目模板
$ klg-init dest
[klg-init] fetching npm info of klg-init-config
? Please select a boilerplate type (Use arrow keys)
──────────────
❯ module - npm 库项目模板
model - mongoose model 模板 todo
project - JavaScript 后端项目模板 todo
project-ts - Typescript 后端项目模板 todo
admin - 管理后台项目模板 todo
目前支持的模板有:
- npm module,模板地址:https://github.com/kaolalicai/klg-boilerplate-module
- typescript + koa + mongoose 后端项目,模板地址:https://github.com/kaolalicai/klg-koa-starter-kit
- 管理后台项目,模板地址:https://github.com/kaolalicai/klg-admin-boilerplate
三、工具库列表
目前已经发布的工具库有:
- klg-logger : logger 工具,基于 tracer
- klg-number : 数字处理,主要解决 node 小数精度问题
- klg-request-log :http 请求 log 记录,方便排查问题
- klg-mq : rabbitmq 连接工具
- klg-mq-koa : 将 mq 和 koa router 无缝结合
- klg-redlock : 基于 redis 的分布式锁
- klg-date : 日期处理,基于 moment
- klg-request : 后端使用的 http 请求工具,基于 superagent
- klg-retry : 重试工具
- klg-tracer : 链路追踪工具,该项目实际不能使用,原因见项目内文档
上述项目都可以在我们公司的开源账号找到 AI考拉GitHub账号
结语
(工具库还未整理前)
考拉dev(咆哮状):嗯?谁搞的这个bug?给我站出来!
哦。。。好像是我之前搞出来的。。。
(工具库使用期)
考拉dev:你以为有了工具库bug就没有了吗?
不存在的,不过搬砖的时候更方便了,偶尔还可以打打养生代码~
工具库将不定时更新,欢迎在下面留下你的反馈,我们也会不断更新!
著作权归本文作者所有,未经授权,请勿转载,谢谢。