问题描述
我正在 node.js 上开发服务器应用程序。在使用 nodemon
时,我不能忽视添加一些功能会大大减慢重启速度的事实。我发现 a trick 没有通过运行单独的脚本来重新启动 ngrok 隧道,该脚本创建隧道然后执行 nodemon
将 url 作为环境变量传递,简而言之,它看起来像这样:
ngrok
.connect(options)
.then(url => {
// log success
nodemon({
script: "./bin/www",exec: `NGROK_URL=${url} node`,});
})
然而,在每次 nodemon 重启时,可能有更多的设置步骤是人们不想重做的,比如启动一个 Telegram bot(是的,我们可以在上面的脚本中启动 webhook,但是如果我们为 Bot 使用构造函数对象,它不能作为环境变量传递)或连接到 Mongo DB(同样,连接是一个对象)。
我想知道这样的对象是否应该只启动一次(因为它们的启动需要时间),是否可以以某种方式传递给由 nodemon
(或 ts-node-dev
重新启动的脚本,因为我使用的是 TypeScript )?或者至少如果我可以创建一个 Mongo 连接(因为它比任何其他启动需要更多的时间)并保持它重新启动(可能会通过某个池中的某个 ID 找到已建立的连接)?
我能想到的唯一方法是运行一个单独的服务并通过http进行一些通信。看起来有点丑陋的解决方案(至少使日志记录和调试复杂化),但对于某些情况(微服务架构)可能还可以。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)