gateway(暂定)

网关,中间层服务,可拔插式多元化服务

Node Version Prettier
## 目标与哲学 想做一个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 您的项目,或者,以维护者或所有者的身份自愿加入,从而使您的项目继续进行下去。您也可以明确要求维护者。