Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/serverless-plus/tencent-framework

Serverless Framework Components for Tencent Cloud
https://github.com/serverless-plus/tencent-framework

Last synced: 3 days ago
JSON representation

Serverless Framework Components for Tencent Cloud

Awesome Lists containing this project

README

        

# Serverless Framework Component

[![Build Status](https://github.com/serverless-plus/tencent-framework/workflows/Test/badge.svg)](https://github.com/serverless-plus/tencent-framework/actions?query=workflow:Test)

> 此组件非腾讯云官方组件,很多特性是实验性的。如果有相关疑问,请提交 issue 或者 pr。

Serverless Web 框架组件,可以方便将传统 Web 框架部署到腾讯云 Serverless 架构上,支持目前流行的所有 Web 框架。

目前支持框架:

- [x] Express.js
- [x] Koa.js
- [x] Egg.js
- [x] Next.js
- [x] Nuxt.js
- [x] Nest.js
- [x] Laravel
- [x] ThinkPHP
- [x] Flask
- [x] Django

> 支持无改造部署 Egg.js 项目,需要项目依赖 [egg-core](https://github.com/eggjs/egg-core) >= 4.19.0

## 愿景 🚀🚀🚀

由于现存 Web 框架组件太多了,配置文档比较零散,维护起来比较困难,但是 Web 框架组件的核心逻辑基本一致,为此作为`第三方开发者`开发了本适配所有 Web 框架的组件。而且 yaml `配置`也进行了`重新设计`,`不兼容其他独立的框架组件配置`。

希望因此能够帮助到广大爱好 Serverless Components 的开发者。

## 示例项目

[Examples](./examples)

## 安装

通过 npm 安装最新版本的 Serverless Framework

```bash
$ npm install -g serverless
```

## 初始化项目

通过如下命令和模板链接,快速创建一个 Express 应用:

```bash
$ serverless init express-starter --name example
$ cd example
```

## 配置

以下是 Express 框架的 `serverless.yml`配置示例:

```yml
app: serverless
stage: dev
component: framework
name: express-demo

inputs:
framework: express
src:
src: ./
exclude:
- .env
region: ap-guangzhou
faas:
name: express-demo
apigw:
protocols:
- http
- https
environment: release
```

[全量配置](./docs/configure.md)

> 注意:`inputs` 中 `framework` 参数是必须的,组件将根据该参数来对 Web 框架项目进行自动化部署,目前 `framework` 支持 Web 框架有 `express`、`koa`、`egg`、`next`、`nuxt`、`nest`、`laravel`、`thinkphp`、`flask`、`django`。

## 可视化配置

新规范支持可视化配置,启动前先安装 [@slsplus/cli](https://github.com/serverless-plus/cli) 命令行工具:

```bash
$ npm i @slsplus/cli -g
```

启动可视化配置:

```bash
$ sp init -u
```

如下图所示:

![UI Config](./demo/ui-config.jpg)

## 部署

```bash
$ sls deploy
```

## License

MIT License

Copyright (c) 2020 Serverless Plus