问题无法使用pm2,因为pm2会在后台运行。当docker作为容器时,如果前台没有进程在运行,容器就会被关闭。不能使用pm2-runtime因为pm2-runtime还不支持ts-node。方案一:使用ts-node跳过pm2直接运行项目方案二:使用tsc将ts编译成js,然后使用pm2运行项目方案三:重新编译pm2-runtime增加对ts的支持方案1,更可取,因为我们使用docker作为容器,本身具有自动重启的特性,所以加pm2保护进程是多余的,而且有性能损失。解决方案2需要更改项目的配置。如果测试环境和本地开发环境不用docker,需要兼容,改动比较大。由于方案一的存在,该方案性价比较低。选项3更便宜。
