gateway(暂定)
网关,中间层服务,可拔插式多元化服务
## 目标与哲学
想做一个node+typescript+koa的服务层,用来满足一部分前端的需求,从而在无后端的情况下实现一套服务。
内置满足多种需求的服务,比如网关、服务代理、静态服务器、api服务、websocket服务等等
内置多种按需引入的插件(目前没有分离出插件包的打算,因为只是简单的再次封装一下,后续看情况再说),目前有`redis`,`log4js`,`nedb`
**api服务**这块目前是使用restful风格
## 先决条件
说明用户在安装和使用前,需要准备的一些先决条件,譬如:您需要安装或升级 [Node.js](https://nodejs.org/en/)(> = `12.* `,Npm 版本 >= `6.14.8 `,[Yarn](https://yarnpkg.com/) 作为首选)。
## TODO
- [x] redis插件
- [x] 本地缓存和本地嵌入式数据库插件
- [x] 日志插件
- [x] 开发环境热更新和生产环境pm2部署
- [x] eslint代码风格规范化
- [x] 大文件切片上传
- [x] 单个服务的Dockerfile完成
- [x] mysql插件
- [ ] mysql,nginx,mongo,redis等相对应的docker
- [ ] mongo插件
- [ ] 邮件系统插件
- [ ] excel/word等导入/导出功能的插件
- [ ] 可拔插插件和插件之间依赖兼容处理
- [ ] 加密服务的完善(目前只有针对id的加解密,后续拓展MD5、hash等加密方式)
- [ ] websocket服务完善
- [ ] 项目结构和代码优化调整
- [ ] 定时任务
## 安装
```bash
yarn install
```
## 用法
#### 生产编译和启动
```bash
# 生产编译
yarn run compile
# 普通启动
node dist/app.js
# pm2 守护进程启动
yarn run pm2:start
# pm2 list
yarn run pm2:list
# pm2 stop
yarn run pm2:stop
# pm2 restart
yarn run pm2:restart
```
将`typescript`代码编译成`javascript`放在dist目录下,然后运行服务
#### 开发
```bash
yarn dev
```
通过`nodemon`在内存中将`typescript`编译成`javascript`,并运行服务,同时监听变动的文件并重启服务
## 屏幕截图(可选)
包括 logo / demo 截图等。
## 支持(可选)
告诉人们他们可以去哪里寻求帮助。它可以是 issue 跟踪器,聊天室,电子邮件地址等的任意组合。
## 测试(可选)
```bash
npm test
```
用代码示例描述并展示如何运行测试。
## 路线图(可选)
如果您对将来的发行版有任何想法,最好在 README 文件中列出它们。
## 贡献(可选)
欢迎提出请求。对于重大更改,请先打开一个 issue,以讨论您要更改的内容。请确保适当更新测试。
## 作者和致谢(可选)
向那些为该项目做出贡献的人表示感谢。
## 执照
[MIT](http://opensource.org/licenses/MIT)
版权所有 (c) 2021-至今,[您的名字](您的主页网址)。
## 项目状态(可选)
如果您没有足够的精力或时间来完成项目,请在 README 文件的顶部添加注释,指出开发速度已减慢或完全停止。可能有人会选择 fork 您的项目,或者,以维护者或所有者的身份自愿加入,从而使您的项目继续进行下去。您也可以明确要求维护者。