Serverless 官方示例应用,待办事项管理应用
Node.js >= 12serverless 命令行工具此 Todo List 项目采取前后端分离的架构,前端提供页面 Ui 展示和功能操作, 后端提供 API 和数据库操作. 项目提供了:
根目录serverless.yml定义了app, stage 字段,因为需要确保模版下的组件使用相同的app, stage 字段,用户可自行修改需要的值
vpc 目录下是帮助用户执行创建 db 和 backend 所需要的网络环境, 所创建的vpcId和subnetId提供给db和backend使用,用户可以自行修改,但是如果继续给db, backend 使用的话,必须保证地域配置的正确性, 比如postgresql 仅支持 北京三区,广州二区,上海二区, 那么vpc/serverless.yml 就必须选择这三个地域之一。
db目录下是使用tencent-postgresql 组件来执行对 postgresql 数据库的创建
部署成功之后,可以在腾讯云云数据库中的PostgreSQL 中看到对应实例.
注意事项:
北京三区,广州二区,上海二区 三个地域的创建和部署:
backend/serverless.yml 中的地域可用区时需要注意填写为正确的地域backend/serverless.yml 中我们所使用的vpc配置 是在vpc目录下生成的结果: ${output:${stage}:${app}:todos-vpc.vpcId},所以需要确保vpc目录实例下的地域选择为正确的地域.env 文件中填写信息来配置持久的环境变量/秘钥信息, 详情# .env
TENCENT_SECRET_ID=123
TENCENT_SECRET_KEY=123
backend 文件夹中即为后端项目目录:
todo 数据存储注意事项:
backend/serverless.yml中使用了db项目提供的数据库链接: ${output:${stage}:${app}:todos-db.private.connectionString}, 其中todos-db是数据库实例项目的名称,如果db/serverless.yml 中的name 被修改,请记得把这里的参数也相应修改。backend/serverless.yml 中我们所使用的vpc配置 是在vpc目录下生成的结果: ${output:${stage}:${app}:todos-vpc.vpcId},所以需要确保vpc目录实例下的地域选择为正确的地域后端项目成功部署后,会在腾讯云 scf 中自动部署一个名为todos-backend的项目,用户可在其中查看日志或者函数配置
frontend 文件夹中即为前端项目目录:
React + Ant.design + ky 作为技术选型frontend/serverless.yml 中使用了backend 项目提供的后端 ApiUrl${output:${stage}:${app}:todos-backend.apigw.url}, 其中todos-backend 是后端项目的名称,如果后端项目的名称被修改,前端yml中此处的值需要对应修改。 可以做到无缝部署,不需要分别部署.
前端项目部署之后会将静态资源存在 COS 的todos-frontendbucket 中,可以自行在serverless.yml中修改
sls deploy 之后,会在用户的todos-frontend bucket 生成一个 env.js 文件,需要将其下载到frontend/public 文件夹中。 之所以在本地开发的时候需要这个文件是因为这个文件会把后端 API 的地址自动注入window.env 中,供前端 API 访问使用, 所以本地开发的时候需要手动下载。 线上项目会自动获取。frontend文件夹下,执行npm install 安装依赖npm start 本地运行项目sls deploy, 命令行会自动分别部署db, backend, frontend 项目todos-frontend 输出的 website 地址即可看到项目前端,进行操作




