探索 Midway:面向未来的 Node.js Serverless 框架

发布于:2026-03-01 · #Node.js

什么是 Midway?

Midway 是一个面向前端/全栈开发者的 Node.js Serverless 框架。它的设计理念是「为下一个十年构建应用」,支持 AWS、阿里云、腾讯云以及传统的 VM/容器部署。

核心特性

1. 统一的开发体验

Midway 提供与 Express/Koa 兼容的 API,让前端开发者能够平滑过渡到后端开发。

TypeScript
UTF-8|17 Lines|
import { Inject, Controller, Get, Provide } from '@midwayjs/decorator';
import { Context } from '@midwayjs/koa';

@Provide()
@Controller('/api')
export class UserController {
  @Inject()
  ctx: Context;

  @Get('/user')
  async getUser() {
    return {
      id: 1,
      name: 'Hongcai',
    };
  }
}

2. 灵活的部署选项

Bash
UTF-8|8 Lines|
# 部署到阿里云函数计算
npm run deploy -- --provider aliyun

# 部署到 AWS Lambda
npm run deploy -- --provider aws

# 部署到腾讯云
npm run deploy -- --provider tencent

3. 组件化架构

Midway 采用组件化设计,可以按需引入:

  • @midwayjs/koa - Koa Web 框架
  • @midwayjs/egg - Egg 框架兼容
  • @midwayjs/faas - 函数计算
  • @midwayjs/serverless-app - Serverless 应用

为什么选择 Midway?

特性Midway传统 Serverless
本地开发完整模拟云端环境需要频繁部署
调试支持热重载困难
迁移成本
团队协作前后端统一分开维护

写在最后

Midway 为前端开发者打开了一扇通往后端开发的大门。在 Serverless 趋势越来越明显的今天,掌握这样一个框架能让开发者在云原生时代更具竞争力。


本文基于 GitHub 用户 denghongcai 的主要开源项目编写。