网关,node+koa+ts+redis

zhusiqing a85e8ff4be l 2 лет назад
.husky 3279557aec fix(middlewares/limit.ts): 请求拦截优化 3 лет назад
.vscode 897e6dbbe5 更新README 3 лет назад
example f8a005e2ef 增加大文件切片上传功能和前后端服务示例 3 лет назад
src 2566d3007f feat: 错误捕获完善,mysql数据库操作优化 3 лет назад
.eslintignore b9a539378b 增加eslint规范格式,同时修复格式 3 лет назад
.eslintrc.js b86f0b6e90 修复和优化日志,修复格式 3 лет назад
.gitignore f8a005e2ef 增加大文件切片上传功能和前后端服务示例 3 лет назад
Dockerfile fba9c5a56f feat: 新增Dockerfile 3 лет назад
README.md fcef2ccd9c feat: 新增mysql 3 лет назад
dist.zip e72b392308 l 2 лет назад
dist3.zip a85e8ff4be l 2 лет назад
package-lock.json f8a005e2ef 增加大文件切片上传功能和前后端服务示例 3 лет назад
package.json fcef2ccd9c feat: 新增mysql 3 лет назад
pm2.config.js 3e7b01d769 日志插件重写,优化部分逻辑 3 лет назад
tsconfig.json c8e1ff2579 typescript替换成ttypscript,这样可以使用paths alias 3 лет назад
yarn.lock fcef2ccd9c feat: 新增mysql 3 лет назад

README.md

gateway(暂定)

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


目标与哲学

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

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

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

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

先决条件

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

TODO

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

安装

yarn install

用法

生产编译和启动

# 生产编译
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 您的项目,或者,以维护者或所有者的身份自愿加入,从而使您的项目继续进行下去。您也可以明确要求维护者。