nstarter 是一套面向 Node.js + TypeScript 工程开发,设计的工程治理脚手架,目标是简化团队协作场景下多工程维护复杂度。
通过不同的模块组件,配合工程启动模板,可以实现 Node.js 项目的快速搭建,统一工程结构组织形式,降低团队协作负担。框架中已提供的模块包括公共核心组件,外围扩展包,开发环境配置管理等一系列工具。
关于 nstarter 框架及各组件的详细使用介绍,以及 API 接口使用说明,可进一步参考 使用文档 .
nstarter-core
- 框架核心组件
nstartre-config
- 配置装载管理器nstarter-apm
- APM 业务跟踪插件,用于业务方法的执行跟踪与性能分析,基于 ElasticAPM 实现nstarter-cache
- 缓存管理nstarter-entity
- 数据传输结构实体化管理工具nstarter-grpc
- GRPC 通信插件nstarter-lock
- 分布式锁插件,基于 Redis 实现nstarter-metrics
- 监控指标采集跟踪组件,基于 prometheus 规范nstarter-mongodb
- mongodb 连接管理组件nstarter-rabbitmq
- rabbitmq 连接管理组件nstarter-redis
- redis 连接管理组件nstarter-utils
- 通用工具包
nstarter-cli
- 工程启命令行工具nstarter-circular
- 循环依赖检测工具nstarter-tsconfig
- TypeScript 规则模板
nstarter
框架工程采用 NX 配合 npm workspace 的方式,将各独立组件以 monorepo 的形式统一纳入管理。
-
依赖安装
npm run install
-
编译构建
npm run build
-
单元测试
npm run test
-
代码质量检擦
npm run eslint
<nstarter>
├── ci/
│ └── toolbox/ # CI 构建工具
├── cli/ # 命令行启动器
├── core/ # 框架核心 (nstarter-core)
├── development/ # 开发组件
│ └── tsconfig/ # TypeScript 配置模板 (nstarter-tsconfig)
├── docs/ # 文档
├── packages/ # 扩展组件包
│ ├── config # 配置装载管理 (nstarter-config)
│ ├── package-*/ # 插件包
│ └── utils/ # 通用工具包 (nstarter-utils)
├── tools/ # 开发工具组件
├── typings/ # TypeScript 公共类型定义
├── package.json # 全局 npm 工作目录配置
├── nx.json # nx 配置
├── README.md # 工程说明文件
└── LICENSE # 许可证文件
NStarter Team, Build on 🌍 with 💓.