🚀 Develop & Ship
Midway Hooks
是下一代的云端一体应用研发方案。通过 Serverless + Hooks + 一体化 Api 调用的特性,开发者在研发流程中仅需关注业务逻辑,即可高效完成应用的交付。
✨ 特性
- ☁️ 全栈,在 src 目录中开发前后端代码
- 🌈 极其简单的后端 Api 开发与调用方式
- 🌍 使用 “React Hooks” 开发后端
- 📦 跨前端框架. 支持 React / Vue3 / ICE.js
- ⚙️ 基于 Midway, 提供 Web 及 Serverless 场景下的完整支持.
- 🛡 完善的 TypeScript 支持
🌰 Demo
从后端导入代码并调用
backend api
export async function get() {
return 'Hello Midway Hooks'
}
export async function post(name: string) {
return 'Hello ' + name
}
frontend
import { get, post } from './apis/lambda'
/**
* @method GET
* @url /api/get
*/
get().then((message) => {
// Display: Hello Midway Hooks
console.log(message)
})
/**
* @method POST
* @url /api/post
* @body { args: ['github'] }
*/
post('github').then((message) => {
// Display: Hello github
console.log(message)
})
Hooks
backend api
import { useContext } from '@midwayjs/hooks'
export async function getPath() {
const ctx = useContext()
return ctx.path
}
frontend
import { getPath } from './apis/lambda'
/**
* @method GET
* @url /api/getPath
*/
getPath().then((path) => {
// Display: /api/getPath
console.log(path)
})
🚀 快速开始
请先安装 faas-cli.
npm i @midwayjs/faas-cli -g
创建
React
f create --template-package=@midwayjs-examples/midway-hooks-react
Vue
$ f create --template-package=@midwayjs-examples/midway-hooks-vue3
ICE.js
$ npm init ice ice-app --template @icedesign/scaffold-midway-faas
运行
npm start
部署
f deploy