https://github.com/jiandaoyun/nstarter
面向 Node.js + TypeScript 工程开发设计的工程治理脚手架
https://github.com/jiandaoyun/nstarter
Last synced: 23 days ago
JSON representation
面向 Node.js + TypeScript 工程开发设计的工程治理脚手架
- Host: GitHub
- URL: https://github.com/jiandaoyun/nstarter
- Owner: jiandaoyun
- License: mit
- Created: 2019-02-26T00:54:34.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2025-03-26T01:59:22.000Z (about 2 months ago)
- Last Synced: 2025-04-19T21:54:56.386Z (27 days ago)
- Language: TypeScript
- Homepage: https://nstarter-docs.jdydevelop.com/
- Size: 1.14 MB
- Stars: 9
- Watchers: 3
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nstarter
![]()



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