Egg.js 是一款企業級 Node.js 框架,由螞蟻集團開源和維護,該項目近日公佈了 4.0 版本的最新進展。
據介紹,Egg.js 在 4.0 版本帶來了全新的架構:基於領域驅動設計(DDD),全面支持 TypeScript,並引入“配置即約定”機制,打造更加現代化的編程界面。
同時,4.0 原生支持 LangChain、LangGraph、MCP 等 AI 開發能力,讓你的業務應用無縫接入智能工作流。
核心能力
- 全新裝飾器風格編程界面
Egg.js 4.0 採用全新裝飾器風格編程界面,減少了你在編碼時的眾多負擔,只用在當前的代碼文件裏,專注與你的業務開發。
https://www.eggjs.org/zh-CN/basics/di
import { HTTPController, HTTPMethod, HTTPMethodEnum, HTTPParam, SingletonProto } from'egg';
@HTTPController()
exportdefaultclassSimpleController{
// 申明一個 GET /api/hello/:name 接口
@HTTPMethod({ method: HTTPMethodEnum.GET, path: '/api/hello/:name' })
asynchello(@HTTPParam() name: string) {
return {
message: 'hello ' + name,
};
}
}
@SingletonProto()
exportclassHelloService{
async hello(): Promise<string> {
return'hello';
}
}
- 全新生命週期
Egg.js 4.0 在框架生命週期之上,新增對象生命週期,現在每個由框架管理的對象,你都可以通過他們的生命週期來管理,讓整個項目,從框架到對象,在你面前都是透明可管控的。
- AOP 切面編程
Egg.js 4.0 提供了 AOP 的能力,他比 koa 中間件更加強大,他可以放到類或者某個方法上,在對應的方法被觸發時執行,而不像傳統中間件需要通過某個變量來判斷是否執行。
https://www.eggjs.org/zh-CN/basics/aop-middleware
- AI 能力集成
Egg.js 4.0 集成了 MCP 和 LangChain,通過簡單裝飾器,可以直接構建自己的 MCP server 和 Agent。
升級指南
在舊版 Egg.js 項目中 config/plugin.js 開啓 @eggjs/tegg-plugin 和 @eggjs/tegg-config 兩個插件即可無縫升級。
exports.tegg = {
package: '@eggjs/tegg-plugin',
enable: true,
}
exports.teggConfig = {
package: '@eggjs/tegg-config',
enable: true,
}
未來計劃
-
內置多種 Agent 構建能力。
-
支持 serverless 場景。
-
新增最佳實踐和入門教學視頻。
開源地址:https://github.com/eggjs/egg