网关,node+koa+ts+redis

zhusiqing fef1d51785 更新README和完善部署命令 3 anni fa
.vscode b22d8a7f7e 优化日志,环境变量修改 3 anni fa
example e33748e760 新增websocket,同时websocket和proxy改为可拔插 3 anni fa
src 3e7b01d769 日志插件重写,优化部分逻辑 3 anni fa
.gitignore 63dc151d0f 增加本地嵌入式数据库,修复一些遗留问题 4 anni fa
README.md fef1d51785 更新README和完善部署命令 3 anni fa
package.json fef1d51785 更新README和完善部署命令 3 anni fa
pm2.config.js 3e7b01d769 日志插件重写,优化部分逻辑 3 anni fa
tsconfig.json f26ad94764 增加登录相关接口,增加创建文档接口,修复一些bug 4 anni fa
yarn.lock e33748e760 新增websocket,同时websocket和proxy改为可拔插 3 anni fa

README.md

gateway(暂定)

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


目标与哲学

想做一个node+typescript+koa的服务层,用来满足一部分前端的需求,从而在无后端的情况下实现一套服务。

内置满足多种需求的服务,比如网关、服务代理、静态服务器、api服务、websocket服务等等

内置多种按需引入的插件(目前没有分离出插件包的打算,因为只是简单的再次封装一下,后续看情况再说),目前有redis,log4js,nedb

api服务这块目前是使用restful风格

先决条件

说明用户在安装和使用前,需要准备的一些先决条件,譬如:您需要安装或升级 Node.js(> = 12.*,Npm 版本 >= 6.14.8Yarn 作为首选)。

TODO

  • redis插件
  • 本地缓存和本地嵌入式数据库插件
  • 日志插件
  • 开发环境热更新和生产环境pm2部署
  • mysql插件
  • mongo插件
  • 邮件系统插件
  • excel/word等导入/导出功能的插件
  • 可拔插插件和插件之间依赖兼容处理
  • 加密服务的完善(目前只有针对id的加解密,后续拓展MD5、hash等加密方式)
  • websocket服务完善
  • 项目结构和代码优化调整

安装

yarn install

在特定的生态系统中,可能存在一种通用的安装方式,例如使用Yarn,NuGet或Homebrew。但是,请考虑是否有可能正在阅读README的人是新手,并且需要更多指导。

用法

生产编译和启动

# 生产编译
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目录下,然后运行服务

开发

yarn dev

通过nodemon在内存中将typescript编译成javascript,并运行服务,同时监听变动的文件并重启服务

屏幕截图(可选)

包括 logo / demo 截图等。

支持(可选)

告诉人们他们可以去哪里寻求帮助。它可以是 issue 跟踪器,聊天室,电子邮件地址等的任意组合。

测试(可选)

npm test

用代码示例描述并展示如何运行测试。

路线图(可选)

如果您对将来的发行版有任何想法,最好在 README 文件中列出它们。

贡献(可选)

欢迎提出请求。对于重大更改,请先打开一个 issue,以讨论您要更改的内容。请确保适当更新测试。

作者和致谢(可选)

向那些为该项目做出贡献的人表示感谢。

执照

MIT

版权所有 (c) 2021-至今,您的名字

项目状态(可选)

如果您没有足够的精力或时间来完成项目,请在 README 文件的顶部添加注释,指出开发速度已减慢或完全停止。可能有人会选择 fork 您的项目,或者,以维护者或所有者的身份自愿加入,从而使您的项目继续进行下去。您也可以明确要求维护者。