{"repo":"EvaEngine/EvaEngine.js","free":true,"listed":false,"github":"https://github.com/EvaEngine/EvaEngine.js","clone":"git clone https://github.com/EvaEngine/EvaEngine.js.git","description":"A micro service development engine for node.js","language":"JavaScript","stars":31,"topics":["dependency-injection","es2017","framework","async-await","orm","distributed","microservice","cli","sequelize","swagger"],"license":"MIT","category":"cli-tools","readme_excerpt":"EvaEngine for Node.js 面向 Node.js 微服务的 Application Runtime ：同一套引擎覆盖 HTTP 、 CLI 、 定时任务 ，并提供 DI、Provider、中间件、配置、缓存、鉴权辅助、实体（Sequelize）、异常体系与 Swagger 生成。 消费方（人与 agent）： 本 README 即为完整对外说明。使用本包 不需要 阅读仓库内的 docs/ 。 环境要求 - Node.js ≥ 24 - ESM（ \"type\": \"module\" ） - npm（或其它可从 npm registry 安装的客户端） 安装 可选脚手架：EvaSkeleton.js。 导入方式（重要） 包的 default 导出 是一个 core 对象。顶层具名导出只有 default 与 core （同一对象）。 不要 依赖 import { EvaEngine } from 'evaengine' ——该具名导出不存在。 --- 心智模型 模式 典型流程 ------ ---------- web （默认） bootstrap() → use() → run() / runHttps() cli registerCommands() → runCLI() / runCrontab() / runCommand() 进程级事实（按每进程一个 Engine 规划）： - DI 是 全局 容器。 - EvaEngine.getApp() 是 模块级 Express app 单例。 - bootstrap() 注册 web 服务与中间件 Provider；CLI 路径在 getCLI / runCrontab 内注册 CLI 服务。 - 内置 EventManager 仅进程内 （不是消息队列）。 --- 快速开始 Web CLI 定时任务 内置 CLI 二进制 配合 Spring Cloud Config（仅 bin）： - SPRING CONFIG ENDPOINT （设置后启用） - SPRING CONFIG NAME 、 SPRING CONFIG PROFILES 、 SPRING CONFIG LABEL --- 推荐项目结构 --- 配置 配置目录为 {projectRoot}/config （可用构造参数 configPath 覆盖），按以下顺序合并： 1. 引擎内置默认（随包提供） 2. config.default.cjs 3. config. .cjs 4. 可选 config.local. .cjs （不存在则忽略） 配置文件使用 CommonJS .cjs （经 require 加载）。 运行时读取： 环境变量 变量 作用 ------ ------ NODE ENV 选择 config. .cjs PORT 常见应用端口（使用时传入构造参数） LOG LEVEL 覆盖日志级别 TZ moment 默认时区（未设置时为 Asia/Shanghai ） CLI NAME CLI 模式下 logger 标签 MAX REQUEST DEBUG BODY debug 中间件 body 限制 SEQUELIZE REPLICATION CONFIG KEY db 下 replication 配置的替代键名 SPRING CONFIG bin 远程配置（见上文） --- DI 与服务 DI 名 绑定时机 ------- ---------- env 、 config 、 logger 、 namespa","default_branch":null,"files":null,"tree":[],"storefront":"/r/EvaEngine","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/EvaEngine/EvaEngine.js/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}