🍔 A Node.js Serverless Framework for front-end/full-stack developers. Build the application for next decade. Works on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/Container. Super easy integrate with React and Vue. 🌈
Midway - 一个面向未来的云端一体 Node.js 框架
English | 简体中文
资源
特性
描述
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 应用
import { Controller, Get, Provide } from '@midwayjs/decorator';使用函数开发全栈应用@Provide() @Controller('/') export class HomeController {
@Get('/') async home() { return
Welcome to midwayjs!
; } }
后端代码 src/apis/lambda/index.ts
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
import getArticles from './api'; const response = await getArticles({ query: { page: '0', limit: '10' }, }); console.log(response); // { page: '0', limit: '10' }
手动调用
fetch('/api/articles?page=0&limit=10') .then((res) => res.json()) .then((res) => console.log(res)); // { page: '0', limit: '10' }快速上手
$ npm -v文档和社区如果是 npm v6
$ npm init midway --type=web my_midway_app
如果是 npm v7
$ npm init midway -- --type=web my_midway_app
进入项目路径
cd my_midway_app && npm run dev
官方示例
请访问 midway-examples
社区优秀示例展示
1、Cool-Admin - 一个很酷的后台权限管理框架
VSC Plugin
答疑
群里会有热心的朋友,也会有新版本发布推送。
请告知我们可以为你做些什么,不过在此之前,请检查一下是否有 已经存在的Bug或者意见。
如果你是一个代码贡献者,请参考代码贡献规范。
谁在使用
你也想加 Logo ?可以点击 这里 添加。
License
我们的代码使用 MIT 协议,请放心使用。
Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.
We'll never share your email with anyone else.