Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在没有实例的情况下结束REPL服务器_Javascript_Node.js_Console_Read Eval Print Loop - Fatal编程技术网

Javascript 在没有实例的情况下结束REPL服务器

Javascript 在没有实例的情况下结束REPL服务器,javascript,node.js,console,read-eval-print-loop,Javascript,Node.js,Console,Read Eval Print Loop,如果不通过命令行运行脚本,节点将自动进入REPL模式。我想退出REPL模式。该类有一个close方法,但我无法调用它,因为我无法访问节点内部使用(node.js第142行)来实现其REPL模式所返回的实例。但是,如何退出REPL模式 node.js第142行的轮廓: // If -i or --interactive were passed, or stdin is a TTY. if (process._forceRepl || NativeModule.require('tty').isat

如果不通过命令行运行脚本,节点将自动进入REPL模式。我想退出REPL模式。该类有一个
close
方法,但我无法调用它,因为我无法访问节点内部使用(node.js第142行)来实现其REPL模式所返回的实例。但是,如何退出REPL模式

node.js第142行的轮廓:

// If -i or --interactive were passed, or stdin is a TTY.
if (process._forceRepl || NativeModule.require('tty').isatty(0)) {
  // REPL
  var opts = {
    useGlobal: true,
    ignoreUndefined: false
  };
  if (parseInt(process.env['NODE_NO_READLINE'], 10)) {
    opts.terminal = false;
  }
  if (parseInt(process.env['NODE_DISABLE_COLORS'], 10)) {
    opts.useColors = false;
  }
  var repl = Module.requireRepl().start(opts); // <<< line 142
  repl.on('exit', function() {
    process.exit();
  });

} else {
  // Read all of stdin - execute it.
  process.stdin.setEncoding('utf8');

  var code = '';
  process.stdin.on('data', function(d) {
    code += d;
  });

  process.stdin.on('end', function() {
    process._eval = code;
    evalScript('[stdin]');
  });
}
//如果传递了-i或--interactive,或者stdin是TTY。
if(process._forceRepl | | NativeModule.require('tty').isatty(0)){
//答复
变量选项={
是的,
ignoreUndefined:false
};
if(parseInt(process.env['NODE\u NO\u READLINE'],10)){
opts.terminal=false;
}
if(parseInt(process.env['NODE\u DISABLE\u COLORS'],10)){
opts.useColors=false;
}

var repl=Module.requireRepl().start(opts);//从使用
节点
命令启动的repl中退出有很多方法。以下是一些方法:

  • 。退出
  • process.exit();
  • process.kill()
  • process.kill(process.pid);

  • 由于您使用的是终端,您还可以通过键入CTRL+C两次来发送
    SIGINT

    您可以通过程序执行以下操作退出REPL:

    repl.rli.close();
    
    这是当您输入
    。退出
    时的操作