【问题标题】:how to pass commands to a node.js server?如何将命令传递给 node.js 服务器?
【发布时间】:2018-09-19 10:27:11
【问题描述】:

我有一个关于运行 node.js 服务器的问题。使用node server.js 启动服务器后,我想将javascript 命令传递给正在运行的服务器。与开发人员工具控制台在浏览器中工作的方式相同,我希望能够输入命令并让服务器执行它。例如,如果我有一个游戏服务器正在运行,并且我想杀死某个玩家,我可以输入某种 CLI player.kill(); 并且服务器将在输入时执行该命令。这可能吗?谢谢。

【问题讨论】:

  • 所以你想运行node server.js,让你的服务器监听stdineval服务器上下文中的任意命令?
  • 查看thisthis

标签: node.js


【解决方案1】:

您可以在这种情况下使用VorpalJS。 Vorpal 是一个用于构建沉浸式 CLI 应用程序的框架,该应用程序基于inquirer.js 提供的交互式提示构建。

const vorpal = require('vorpal')();

vorpal
  .command('mycommand1', 'Outputs "bar".')
  .action(function(args, callback) {
    this.log('bar');
    callback();
  });

vorpal
  .delimiter('mygame$')
  .show();
当您执行上述脚本时,它会创建一个新提示“mygame$”,然后您可以在该提示中交互地执行命令“mycommand1”,然后可以将其传递到您的服务器。

【讨论】:

  • 这不是我想要的。我需要在命令行中输入命令,并让服务器执行它,就好像它实际上是 server.js 中的一行代码
  • @Kristianmitk 如果您在 UnixlLinux 操作系统中将 nodejs 脚本标记为可执行文件,则该脚本可以在不预先添加节点可执行文件的情况下运行。操作系统将从shebang 中获取相关的可执行文件
  • @Kristianmitk 您可以在服务器上异步运行命令以动态设置/检索数据或手动触发备份等。
猜你喜欢
  • 1970-01-01
  • 2011-05-20
  • 1970-01-01
  • 2015-06-20
相关资源
最近更新 更多