【问题标题】:prestart scripts in LoopbackLoopback 中的预启动脚本
【发布时间】:2015-10-29 02:28:16
【问题描述】:

我需要创建一个 ssh 隧道来连接我的数据库,所以逻辑点是在 script/prestart 下的 package.json 中添加 shell 命令。

不过,slc run 似乎不会执行此脚本,npm start 会执行,但当然不会运行环回模块。

我可以想到一些变通方法,例如编写一个启动脚本来创建 ssh 隧道并调用 slc run,或者在 package.json 脚本/启动中运行 slc run,但所有这些变通方法都很糟糕。

有没有更好的方法来做到这一点?

【问题讨论】:

  • 为什么要将 ssh 隧道的创建绑定到应用程序的开头?在任何运行它的应用服务器上,通过一个简单的设置脚本在启动时始终打开隧道不是更好吗?然后是环境设置而不是应用程序配置。 strongloop 应用程序使用 strong-pm 部署在生产环境中的方式也表明,将数据库连接转移到环境问题可能会使事情变得更容易。

标签: node.js loopbackjs strongloop loopback


【解决方案1】:

我不确定这有多有用,但我想到的 1 个选项是,如果您不真正使用 slc 运行功能,您可以定义自己的 npm start 运行脚本并直接点击服务器脚本并添加在您需要的任何其他工具中,例如 nodemon 或 supervisor 等:

"start": "node server/server.js"

如果您确实需要使用 slc run,我想我会倾向于将 slc run 包装在您的启动脚本中,正如您在问题中提到的那样。有点臭……但没那么严重。

【讨论】:

  • 是的,在我的启动脚本中包装 slc run 是我最终所做的。不过,不要认为这是一个好的解决方案:(
猜你喜欢
  • 2021-02-26
  • 2015-08-03
  • 2016-08-26
  • 2015-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多