Abseil 是 Google 开源的 C++17 通用库,为标准库补充容器、字符串、时间、日志和并发等工具。
Effect-TS/effect
一个用于构建生产级 TypeScript 应用的库,提供类型化错误、依赖注入、结构化并发和 Schema 校验。
- Star
- 17,376
- Fork
- 875
- 未关闭 Issue
- 82
- 最近提交
- 22小时前
这是什么?
Effect 是一个用于构建健壮、可维护、类型安全应用的 TypeScript 库,主要解决大规模项目中的常见难题,包括在类型系统中追踪的错误处理、依赖注入、结构化并发、调度、链路追踪和统一的 Schema 校验。
核心包为 `effect`,仓库中还配有一组配套包:覆盖 Node.js、Bun、Deno 和浏览器的平台服务;支持 PostgreSQL、MySQL、多种 SQLite 运行时和 ClickHouse 等数据库的 SQL 客户端;对接 OpenAI、Anthropic、OpenRouter 的 AI 提供方集成;OpenTelemetry 集成;Vitest 测试辅助工具;以及根据 OpenAPI 和 GraphQL 生成代码的工具。
当前 4.x 版本为长期支持版本,需要 TypeScript 5.9 及以上并开启 `strict` 模式。从 3.x 升级可参考迁移指南,v3 源码保存在独立分支上。
核心功能
- 01类型系统中可追踪的类型化错误处理
- 02用于组合服务的依赖注入
- 03结构化并发与调度
- 04链路追踪与 OpenTelemetry 集成
- 05统一的 Schema 校验
- 06覆盖多种运行时的 SQL 客户端与平台服务
适用场景
- 构建需要显式错误处理和依赖管理的大型 TypeScript 后端
- 在 PostgreSQL、MySQL 或 SQLite 上编写类型安全的数据库访问代码
- 为现有 TypeScript 服务添加 OpenTelemetry 链路追踪
- 根据 OpenAPI 或 GraphQL 规范生成类型化的 Effect 代码
快速上手
- 1
使用 npm 安装核心包
npm install effect
使用前须知
- 需要 TypeScript 5.9 或更高版本,并在 tsconfig.json 中启用 strict 标志。
- Effect 4.x 为长期支持版本,从 Effect 3.x 升级需要遵循迁移指南。
收录于专题
标签
常见问题
- effect 是什么?
- 一个用于构建生产级 TypeScript 应用的库,提供类型化错误、依赖注入、结构化并发和 Schema 校验。 Effect 是一个用于构建健壮、可维护、类型安全应用的 TypeScript 库,主要解决大规模项目中的常见难题,包括在类型系统中追踪的错误处理、依赖注入、结构化并发、调度、链路追踪和统一的 Schema 校验。
- effect 可以免费使用吗?用的什么许可证?
- effect 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- effect 还在维护吗?
- 活跃维护中。effect 最近一次提交是在 2026年10月24日。
- effect 适合用来做什么?
- 构建需要显式错误处理和依赖管理的大型 TypeScript 后端 在 PostgreSQL、MySQL 或 SQLite 上编写类型安全的数据库访问代码 为现有 TypeScript 服务添加 OpenTelemetry 链路追踪 根据 OpenAPI 或 GraphQL 规范生成类型化的 Effect 代码
- effect 怎么安装和运行?
- 使用 npm 安装核心包: npm install effect
- 在哪里获取 effect?
- 源代码和安装说明在 GitHub 上:https://github.com/Effect-TS/effect
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
lichess.org 背后的 Scala 服务端,一个免费、无广告的开源在线国际象棋平台。
TypeScript 7 编译器(tsc)的实验性 Rust 移植版,保持相同的命令行、语言服务和 API。
一个面向 TypeScript 和 JavaScript 的渐进式 Node.js 服务端框架,用于构建高效、可扩展的应用。
基于原生 fetch 的 TypeScript 客户端构建库,支持 schema 校验、重试、超时和进度跟踪。
Java 企业级应用开发的基础框架,提供依赖注入、MVC 等基础设施,是整个 Spring 生态的核心。