后续产品/项目需要使用无代码/低代码平台,目的是减少 web 界面应用的开发成本和时间。
nocobase是一个发展中的小型无代码/低代码开发平台。
作为备选方案之一,需要对它做一些技术准备,因此写了这个原型项目:MarshalW/koa-ts
MarshalW/koa-ts的作用是:
- typescript 以前没写过,熟悉了语法,了解了编译 js 的过程,包括和 javascript/node.js 兼容的问题
- 编写 dockerfile, 加入了对 node.js 程序需要 10s 退出的解决方式
- docker 启动应用进程为
pid=1
,如果不做处理无法正常退出 (docker stop ..
),只能等待 docker 10s 超时强行终止 tini
和dumb-init
都可以解决 node.js 未处理带来的问题,这里选用tini
- docker 启动应用进程为
- 在 node.js 程序里使用了 exit-hook
- 对进程退出信号做处理
- 也解决了 docker 需要 10s 退出的问题
- 因此如果使用 exit-hook 可不必在 docker 中使用 tini