【问题标题】:node.js attach REPL to scriptnode.js 将 REPL 附加到脚本
【发布时间】:2015-03-04 09:57:58
【问题描述】:

如何启动 node.js 脚本并仍然能够在终端中执行命令?我正在为我的自定义脚本寻找一个 node.js REPL,以便我可以检查/记录我的程序的状态。

这类似于 this JVM question,但用于 node.js。

我试过node -i server.js 没有结果。我是否需要在我的脚本中有自定义代码,或者没有它是否可行?我看到了this post,但它需要自定义代码,我想避免。

此外,重新附加由 init 脚本启动的节点脚本的奖励积分(我可以在进程列表中看到它:node -i server.js)。

【问题讨论】:

    标签: linux node.js


    【解决方案1】:

    你可以在你的程序中启动一个 repl 循环

    http://nodejs.org/api/repl.html

    【讨论】:

    • 就像在这篇文章中一样:stackoverflow.com/questions/9302458/… 但这需要自定义代码,对吧?已经运行的节点进程是否可能?
    • 据我所知,如果这是您所要求的,则不可能将 repl 附加到已经存在的进程。该答案中的代码创建了一个服务器,该服务器在有人连接时提供 repl。您可以多次连接和断开连接(因为服务器只会继续监听)。
    • 是的,将 REPL 附加到现有流程是我要问的。我不确定这是否可能。
    • 我现在会接受你的回答,但我仍然很乐意找到不需要特殊代码的东西。
    【解决方案2】:

    反过来对你有用吗?

    启动 REPL,然后加载脚本,然后执行您的命令。使用load 加载您的脚本。

    在 REPL 中,试试

    .load server.js
    

    【讨论】:

    • 我的第一个想法是,如果需要额外的引导步骤,我更喜欢在代码/启动脚本中使用它。谢谢你的 .load 方法,它看起来很有趣。我会考虑的。
    猜你喜欢
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 2016-08-18
    • 2023-02-18
    • 1970-01-01
    • 2015-02-10
    • 2023-03-16
    • 2011-05-24
    相关资源
    最近更新 更多