前提

安装 @midwayjs/faas-cli 工具。

  1. $ npm i @midwayjs/faas-cli -g

创建项目

React

  1. f create --template-package=@midwayjs-examples/midway-hooks-react

Vue:

  1. $ f create --template-package=@midwayjs-examples/midway-hooks-vue3

ICE.js:

  1. $ npm init ice ice-app --template @icedesign/scaffold-midway-faas

本地开发(以 React 为例)

整个示例代码结构如下。

  1. ➜ react_xxx tree
  2. .
  3. ├── README.md
  4. ├── config-overrides.js
  5. ├── f.yml # 函数配置文件
  6. ├── package.json
  7. ├── public
  8. │ ├── favicon.ico
  9. │ ├── index.html
  10. │ ├── logo192.png
  11. │ ├── logo512.png
  12. │ ├── manifest.json
  13. │ └── robots.txt
  14. ├── src
  15. │ ├── App.test.tsx
  16. │ ├── App.tsx
  17. │ ├── Home.tsx
  18. │ ├── List.tsx
  19. │ ├── apis # 函数目录
  20. │ │ ├── config
  21. │ │ │ └── config.default.ts
  22. │ │ ├── configuration.ts
  23. │ │ ├── hook
  24. │ │ │ └── useMethod.ts
  25. │ │ ├── lambda # 接口目录
  26. │ │ │ └── index.ts
  27. │ │ └── render.ts # 页面渲染函数
  28. │ ├── index.css
  29. │ ├── index.tsx
  30. │ ├── logo.svg
  31. │ ├── react-app-env.d.ts
  32. │ ├── serviceWorker.ts
  33. │ ├── setupProxy.js
  34. │ └── setupTests.ts
  35. └── tsconfig.json
  36. 6 directories, 27 files

我们在本地可以通过 npm start 来启动,启动时会自动发一个请求到函数端拿数据,渲染到页面,访问 [http://127.0.0.1:3000/](http://127.0.0.1:8080/) ,整体效果如下。

image.png

切换顶部的 Tab 区域,还会请求不同的函数接口。

部署

使用 f deploy ,默认发布到阿里云,也可以自行修改到其他平台。