# Midway **Repository Path**: mirrors/Midway ## Basic Information - **Project Name**: Midway - **Description**: Midway 是 阿里巴巴淘宝技术部 MidwayJs 团队产出的第二款产品,也是以团队名命名的核心产品 - Midway - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: v4-next - **Homepage**: https://www.oschina.net/p/Midway - **GVP Project**: No ## Statistics - **Stars**: 59 - **Forks**: 10 - **Created**: 2019-01-11 - **Last Updated**: 2025-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
Midway - 一个面向未来的云端一体 Node.js 框架
[English](./README.en-US.md) | 简体中文 ## 资源 - [2022 夏季 mini 直面会](https://www.bilibili.com/video/BV1QB4y1q7Qs) - [2022 冬季直面会](https://www.bilibili.com/video/BV1W44y1s7dj?spm_id_from=333.999.0.0) - [3.x beta 功能预览](https://www.bilibili.com/video/BV1aL4y1p7oA?from=search&seid=8235946720906913847&spm_id_from=333.337.0.0) - [2021 秋季直面会](https://www.bilibili.com/video/BV1Ng411T76f?from=search&seid=8235946720906913847&spm_id_from=333.337.0.0) - [2021 夏季直面会](https://www.bilibili.com/video/BV1nF411a7sr?from=search&seid=8235946720906913847&spm_id_from=333.337.0.0) - [v2 示例教程](https://www.bilibili.com/video/BV1254y1E73m?from=search&seid=8235946720906913847&spm_id_from=333.337.0.0) - [2.0 发布会回放](https://www.bilibili.com/video/BV17A411T7Md)[《2.0 发布会文章》](https://zhuanlan.zhihu.com/p/355768659) ## 特性 - 🐘 **全功能**:支持 Web 应用/Serverless/FaaS/微服务/小程序后端等多种场景,基于装饰器和依赖注入开发企业级应用 - 🐦 **前端集成**:全新的云端一体应用研发体验,零 API 调用,使用 "React Hooks " 风格一体研发 - 🐴 **跨平台**:支持部署至普通 Server 或 Serverless/FaaS 环境 - 🐶 **扩展**:组件化扩展能力,另外支持使用 Koa/Express/Egg.js 生态插件 - 🐂 **示例**: 官方提供多种场景的示例代码,方便开发者快速上手 - 🛡 TypeScript 全面支持 ## 描述 Midway 是一个适用于构建 Serverless 服务,传统应用、微服务,小程序后端的 Node.js 框架。 Midway 可以使用 Koa,Express 或 Egg.js 作为基础 Web 框架。它还提供了独立使用的基本解决方案,例如 Socket.io,GRPC,Dubbo.js 和 RabbitMQ 等。 此外,Midway 也适用于前端/全栈开发人员的 Node.js 无服务器框架。构建下一个十年的应用程序。可在 AWS,阿里云,腾讯云和传统 VM /容器上运行。与 React 和 Vue 轻松集成。 🌈 ## Demo ### 使用装饰器开发 Web 应用 ```ts import { Controller, Get, Provide } from '@midwayjs/decorator'; @Provide() @Controller('/') export class HomeController { @Get('/') async home() { return `Welcome to midwayjs!`; } } ``` ### 使用函数开发全栈应用 > 后端代码 > src/apis/lambda/index.ts ```typescript import { Api, Get, Query, useContext, } from '@midwayjs/hooks'; export default Api( Get(), Query<{ page: string; limit: string; }>(), async () => { const ctx = useContext(); return { page: ctx.query.page, limit: ctx.query.limit, }; } ); ``` > 前端调用 > src/page/index.tsx ```typescript import getArticles from './api'; const response = await getArticles({ query: { page: '0', limit: '10' }, }); console.log(response); // { page: '0', limit: '10' } ``` > 手动调用 ```typescript fetch('/api/articles?page=0&limit=10') .then((res) => res.json()) .then((res) => console.log(res)); // { page: '0', limit: '10' } ``` ## 快速上手 ```bash $ npm -v ## 选择模版 $ npm init midway ## 进入项目路径 cd my_midway_app && npm run dev ``` ## 文档和社区 - [官网](https://midwayjs.org) - [备用官网](https://beta.midwayjs.org) ## 社区优秀示例展示 **1、Cool-Admin - 一个很酷的后台权限管理框架**  - 官网:https://cool-js.com/ ## VSC Plugin  ## 答疑 群里会有热心的朋友,也会有新版本发布推送。  ## 贡献