AI考拉技术分享-Node基础架构专题

原创
2018/12/08 14:36
阅读数 127

前言

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  

目前支持的模板有:

三、工具库列表

目前已经发布的工具库有:

  • 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就没有了吗?
不存在的,不过搬砖的时候更方便了,偶尔还可以打打养生代码~


工具库将不定时更新,欢迎在下面留下你的反馈,我们也会不断更新!
著作权归本文作者所有,未经授权,请勿转载,谢谢。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部