Node.js 微服务实践:基于容器的一站式命令行工具链
作者:个推Node.js 开发工程师 之诺 背景与摘要 由于工程数量的快速增长,个推在实践基于 Node.js 的微服务开发的过程中,遇到了如下问题: 每次新建项目都需要安装一次依赖,这些依赖之间基本相似却又有微妙的区别; 每次新建项目都要配置一遍相似的配置(比如 tsconfig、lint 规则等); 本地 Mac 环境与线上 Docker 内的 Linux 环境不一致(尤其是有 C++ 依赖的情况)。 为了解决上述问题,个推内部开发了一个命令行小工具来标准化项目初始化流程、简化配置甚至是零配置,提供基于 Docker 的一致构建、运行环境。 CLI: init, build, test & pack 新建一个 Node.js 项目的时候,我们一般会: 安装许多开发依赖:TypeScript、Jest、TSLint、benchmark、typedoc 等; 配置 tsconfig、lint 规则、.prettierrc 等; 安装众多项目依赖:koa、lodash、sequelize、ioredis、zipkin、node-fetch 等; 初始化目录结构; 配置CI 脚本。...